Расширение виджета метки для заполнения ширины ячейки с помощью сетки - PullRequest
0 голосов
/ 31 октября 2018

пытается получить метку для полного заполнения ячейки, используя tkinter в Python. Я пробовал этот код, и по сути IMO я не могу заставить работать EW. Пожалуйста, помогите!

from tkinter import *

root = Tk()
root.configure(background='#696969')
root.title('Title')
root.geometry('310x510')
root.resizable(False, False)


f = Frame(root, width=300, height=500, bg='silver', bd=0, cursor='arrow', highlightbackground='silver', highlightcolor='silver', highlightthickness=0, relief=FLAT)
f.grid(row = 0, column = 0, padx = 5, pady = 5, ipadx = 0, ipady = 0, rowspan = 1, columnspan = 1, sticky = 'NSEW')
f.grid_propagate(0)

l = Label(f, text = 'Algorithms', justify = CENTER, bd = 0, anchor = CENTER, bg = '#313233', fg = 'white', wraplength = 0, font = 'Helvetica 9 bold')
l.grid(row = 0, column = 0, padx = 0, pady = 0, ipadx = 0, ipady = 0, rowspan = 1, columnspan = 1, sticky = 'EW')
l.grid_propagate(0)


root.mainloop()

1 Ответ

0 голосов
/ 31 октября 2018

На самом деле, метка полностью заполняет ячейку . Проблема заключается в том, что столбец имеет ширину, равную его содержанию, которое является шириной метки. Вы можете сделать Метку и, следовательно, столбец шире, используя width=... на Метке, но было бы трудно сделать ее точно такой же ширины, как вы хотите, потому что ширина Метки измеряется в символьных единицах.

Что вам действительно нужно, так это расширить столбец до ширины фрейма. Вы можете сделать это, задав столбцу weight с columnconfigure. Неиспользуемая ширина распределяется по столбцам с ненулевым weight относительно weigth, который у них есть (столбец с weight=2 получит вдвое больше пространства столбца с weight=1). Поскольку у вас есть только один столбец, вы можете использовать любое ненулевое число для распределения всего неиспользуемого пространства в этом столбце. Поскольку мы говорим о сетке внутри фрейма, вы должны вызвать columnconfigure в виджете фрейма:

f.columnconfigure(0, weight=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...