Leo Makhnovskiy
Leo Makhnovskiy

Reputation: 59

How do I create blank space between rows in tkinter?

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:

Code output

How would I go about solving this?

Upvotes: 3

Views: 2196

Answers (1)

Yash
Yash

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

Related Questions