Reputation: 59
I am aware that in tkinter padx
and pady
are supposed to create padding outside of the object; and ipady
and ipadx
are supposed to create padding inside the object. In my case pady
seems to also be creating padding inside an object.
The code I've used:
from tkinter import *
screen = Tk()
input_field = Entry(screen, bd=0.5, width=25, font=('Calibri', 16, 'bold')).grid(column=0, row=0, columnspan=3, padx=10, pady=10, ipady=13, ipadx=20)
button1 = Button(screen, bd=0.5, text="1", padx=40, pady=35, font=('Calibri', 16, 'bold')).grid(column=0, row=3)
button2 = Button(screen, bd=0.5, text="2", padx=40, pady=35, font=('Calibri', 16, 'bold')).grid(column=1, row=3)
button3 = Button(screen, bd=0.5, text="3", padx=40, pady=35, font=('Calibri', 16, 'bold')).grid(column=2, row=3)
button4 = Button(screen, bd=0.5, text="4", padx=40, pady=35, font=('Calibri', 16, 'bold')).grid(column=0, row=2)
button5 = Button(screen, bd=0.5, text="5", padx=40, pady=35, font=('Calibri', 16, 'bold')).grid(column=1, row=2)
button6 = Button(screen, bd=0.5, text="6", padx=40, pady=35, font=('Calibri', 16, 'bold')).grid(column=2, row=2)
button7 = Button(screen, bd=0.5, text="7", padx=40, pady=35, font=('Calibri', 16, 'bold')).grid(column=0, row=1)
button8 = Button(screen, bd=0.5, text="8", padx=40, pady=35, font=('Calibri', 16, 'bold')).grid(column=1, row=1)
button9 = Button(screen, bd=0.5, text="9", padx=40, pady=35, font=('Calibri', 16, 'bold')).grid(column=2, row=1)
screen.mainloop()
Output:
How would I go about solving this?
Upvotes: 3
Views: 2196
Reputation: 396
Use pady in grid(pady = 5) and it works fine
from tkinter import *
screen = Tk()
input_field = Entry(screen, bd=0.5, width=25, font=('Calibri', 16, 'bold')).grid(column=0, row=0, columnspan=3, padx=10, pady=10, ipady=13, ipadx=20)
button1 = Button(screen, bd=0.5, text="1", padx=40, pady=35, font=('Calibri', 16, 'bold')).grid(column=0, row=3, pady=5)
button2 = Button(screen, bd=0.5, text="2", padx=40, pady=35, font=('Calibri', 16, 'bold')).grid(column=1, row=3, pady=5)
button3 = Button(screen, bd=0.5, text="3", padx=40, pady=35, font=('Calibri', 16, 'bold')).grid(column=2, row=3, pady=5)
button4 = Button(screen, bd=0.5, text="4", padx=40, pady=35, font=('Calibri', 16, 'bold')).grid(column=0, row=2, pady=5)
button5 = Button(screen, bd=0.5, text="5", padx=40, pady=35, font=('Calibri', 16, 'bold')).grid(column=1, row=2, pady=5)
button6 = Button(screen, bd=0.5, text="6", padx=40, pady=35, font=('Calibri', 16, 'bold')).grid(column=2, row=2, pady=5)
button7 = Button(screen, bd=0.5, text="7", padx=40, pady=35, font=('Calibri', 16, 'bold')).grid(column=0, row=1, pady=5)
button8 = Button(screen, bd=0.5, text="8", padx=40, pady=35, font=('Calibri', 16, 'bold')).grid(column=1, row=1, pady=5)
button9 = Button(screen, bd=0.5, text="9", padx=40, pady=35, font=('Calibri', 16, 'bold')).grid(column=2, row=1, pady=5)
screen.mainloop()
P.S. I like to make a class for similar buttons so I don't have to write all settings again for each button
Upvotes: 3