как я могу удалить эти пробелы между кнопками? питон ткинтер - PullRequest
0 голосов
/ 06 апреля 2019

есть ли способ убрать эти пробелы между кнопками?

https://imgur.com/IdwAgDX

lbl1.grid(row=0, column=2)
list1.grid(row=1, column=2)
lbl2.grid(row=0, column=3)
list2.grid(row=1, column=3)
lbl3.grid(row=0, column=4)
list3.grid(row=1, column=4)
bt0.grid(row=0, column=0, sticky="W")
bt1.grid(row=1, column=0, sticky="W")
bt2.grid(row=2, column=0, sticky="W")
bt3.grid(row=3, column=0, sticky="W")
bt4.grid(row=4, column=0, sticky="W")
bt5.grid(row=5, column=0, sticky="W")

1 Ответ

1 голос
/ 06 апреля 2019

Вы можете поместить Frame в ячейку и использовать pack() или grid(), чтобы поместить кнопки в этот кадр

import tkinter as tk

root = tk.Tk()

f0 = tk.Frame(root)
f0.grid(row=0, column=1)

bA = tk.Button(f0, text='Button A')
bA.pack(side='left')

bB = tk.Button(f0, text='Button B')
bB.pack(side='left')

bB = tk.Button(f0, text='Button C')
bB.pack(side='left')

f1 = tk.Frame(root)
f1.grid(row=1, column=0)

b1 = tk.Button(f1, text='Button 1')
b1.pack()

b2 = tk.Button(f1, text='Button 2')
b2.pack()

b3 = tk.Button(f1, text='Button 3')
b3.pack()

t1 = tk.Text(root)
t1.grid(row=1, column=1)

root.mainloop()

enter code here


Или вы можете использовать rowspan, чтобы виджет (т. Е. Text) использовал много строк, и тогда другие виджеты будут использовать меньше места - но все равно будет некоторое пространство вокруг кнопок. Если вы также используете rowconfig(... ,weight=1), то последняя строка будет использовать все свободное пространство.

У меня 3 строки с кнопками, но я использую rowspan=4, поэтому Text также будет использовать пустую строку после кнопок. И тогда я использую root.rowconfigure(4, weight=1), поэтому эта пустая строка будет использовать все пространство emtpy в столбце.

import tkinter as tk

root = tk.Tk()

bA = tk.Button(root, text='Button A')
bA.grid(row=0, column=1)

bB = tk.Button(root, text='Button B')
bB.grid(row=0, column=2)

bC = tk.Button(root, text='Button C')
bC.grid(row=0, column=3)

b1 = tk.Button(root, text='Button 1')
b1.grid(row=1, column=0)

b2 = tk.Button(root, text='Button 2')
b2.grid(row=2, column=0)

b3 = tk.Button(root, text='Button 3')
b3.grid(row=3, column=0)

t1 = tk.Text(root)
t1.grid(row=1, column=1, rowspan=4, columnspan=4)

root.rowconfigure(4, weight=1) # resize

root.columnconfigure(4, weight=1) # resize

root.mainloop()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...