До сих пор мы сообщали библиотеке tkinter, что должно выводиться в метке, передавая ее текст в именованном аргументе при вызове конструктора метки. Оказывается, существует еще два способа определения параметров метки. В примере 7.7 параметр text метки определяется после ее создания путем присвоения ключу text виджета — виджеты перегружают операции индексирования, чтобы доступ к параметром можно было осуществлять по ключам, подобно словарям.
Пример 7.7. PP4E\Gui\Intro\gui1f.py — параметры
from tkinter import * widget = Label() widget[‘text’] = ‘Hello GUI world!’
widget.pack(side=TOP)
mainloop()
Но чаще параметры виджетов устанавливаются после их создания путем вызова метода config, как в примере 7.8.
Пример 7.8. PP4E\Gui\Intro\gui1g.py — методы config и title
from tkinter import *
root = Tk()
widget = Label(root)
widget.config(text=’Hello GUI world!’)
widget.pack(side=TOP, expand=YES, fill=BOTH)
root.title(‘gui1g.py’)
root.mainloop()
Метод config (допускается также использовать его синоним configure) можно вызвать в любой момент после создания виджета, чтобы на лету изменить его внешний вид. Например, можно было бы вызвать метод config еще раз, дальше в сценарии, чтобы изменить текст, который выводится в метке. Примеры такого динамического изменения параметров можно найти в последующих примерах в этой части книги.
Обратите также внимание, что в этой версии вызывается метод root.ti— tle — этот метод устанавливает текст в заголовке окна, как показано на рис. 7.4. Вообще говоря, окна верхнего уровня, такие как виджет root типа Tk, в этом примере экспортируют интерфейсы менеджера окон, имеющие отношение к рамке окна, а не к его содержимому.
Рис. 7.4. Сценарий gui1g c виджетом, изменяющим размер, и заголовком окна
Развлечения ради в этой версии метка также центрируется при изменении размеров окна путем установки значений параметров expand и fill. На самом деле здесь почти все делается явно, и это отражает типичный способ создания меток в полноценных интерфейсах — с указанием родителя, политики автоматического изменения размеров и способа прикрепления, без использования значений по умолчанию.
Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, I том, 2011