tkinter.tix
— Расширение виджетов для Tk¶
Исходный код: Lib/tkinter/tix.py
Не рекомендуется, начиная с версии 3.6: Это расширение Tk не поддерживается и не должно использоваться в новом коде. Вместо этого используйте tkinter.ttk
.
Модуль tkinter.tix
(Расширение интерфейса Tk) предоставляет дополнительный богатый набор виджетов. Хотя стандартная библиотека Tk содержит множество полезных виджетов, они далеки от завершения. Библиотека tkinter.tix
предоставляет большинство наиболее часто используемых виджетов, которые отсутствуют в стандартном техническом задании: HList
, ComboBox
, Control
( также известный как SpinBox) и ассортимент прокручиваемых виджеты. tkinter.tix
также включает в себя множество других виджетов, которые, как правило, полезны в широком спектре приложений: NoteBook
, FileEntry
, PanedWindow
, и т.д.; всего их более 40.
С помощью всех этих новых виджетов вы можете внедрять в приложения новые методы взаимодействия, создавая более полезные и интуитивно понятные пользовательские интерфейсы. Вы можете разработать свое приложение, выбрав наиболее подходящие виджеты, соответствующие особым потребностям вашего приложения и пользователей.
См.также
- Tix Homepage
Домашняя страница для
Tix
. Здесь содержатся ссылки на дополнительную документацию и файлы для скачивания.- Tix Man Pages
Онлайновая версия справочных страниц и справочных материалов.
- Tix Programming Guide
Онлайн-версия справочного материала для программиста.
- Tix Development Applications
Приложения Tix для разработки программ Tix и Tkinter. Приложения Tide работают под управлением Tk или Tkinter и включают TixInspect, инспектор для удаленной модификации и отладки приложений Tix/Tk/Tkinter.
Использование Tix¶
- class tkinter.tix.Tk(screenName=None, baseName=None, className='Tix')¶
Виджет верхнего уровня Tix, который в основном представляет собой главное окно приложения. С ним связан интерпретатор Tcl.
Классы в модуле
tkinter.tix
являются подклассами классов вtkinter
. Первый модуль импортирует второй, поэтому для использованияtkinter.tix
с Tkinter все, что вам нужно сделать, это импортировать один модуль. В общем, вы можете просто импортироватьtkinter.tix
и заменить вызов верхнего уровня наtkinter.Tk
наtix.Tk
:from tkinter import tix from tkinter.constants import * root = tix.Tk()
Чтобы использовать tkinter.tix
, у вас должны быть установлены виджеты Tix, обычно вместе с установленными виджетами Tk. Чтобы протестировать установку, попробуйте следующее:
from tkinter import tix
root = tix.Tk()
root.tk.eval('package require Tix')
Виджеты Tix¶
Tix содержит более 40 классов виджетов в tkinter
репертуаре.
Основные виджеты¶
- class tkinter.tix.Balloon¶
Значок Balloon, который появляется над виджетом для предоставления справки. Когда пользователь перемещает курсор внутрь виджета, к которому привязан виджет-шар, на экране появляется небольшое всплывающее окно с описательным сообщением.
- class tkinter.tix.ButtonBox¶
Виджет ButtonBox создает блок кнопок, подобный тому, который обычно используется для
Ok Cancel
.
- class tkinter.tix.ComboBox¶
Виджет ComboBox аналогичен элементу управления полем со списком в MS Windows. Пользователь может выбрать нужный вариант, либо введя текст в подвиджете entry, либо выбрав его в подвиджете listbox.
- class tkinter.tix.Control¶
Виджет Control также известен как виджет
SpinBox
. Пользователь может настроить значение, нажав две кнопки со стрелками или введя значение непосредственно в поле ввода. Новое значение будет проверено на соответствие заданным пользователем верхнему и нижнему пределам.
- class tkinter.tix.LabelEntry¶
Виджет LabelEntry объединяет виджет ввода и метку в один мега-виджет. Его можно использовать для упрощения создания интерфейса типа «форма ввода».
- class tkinter.tix.LabelFrame¶
Виджет LabelFrame объединяет рамочный виджет и метку в один мега-виджет. Чтобы создать виджеты внутри виджета LabelFrame, нужно создать новые виджеты относительно подвиджета
frame
и управлять ими внутри подвиджетаframe
.
- class tkinter.tix.Meter¶
Виджет Meter можно использовать для отображения хода выполнения фонового задания, выполнение которого может занять много времени.
- class tkinter.tix.OptionMenu¶
Кнопка OptionMenu создает меню параметров.
- class tkinter.tix.PopupMenu¶
Виджет PopupMenu можно использовать вместо команды
tk_popup
. Преимущество виджетаTix
PopupMenu
в том, что для работы с ним требуется меньше прикладного кода.
- class tkinter.tix.Select¶
Виджет Select представляет собой контейнер подвиджетов кнопок. Он может использоваться для предоставления пользователю вариантов выбора в виде переключателя или флажка.
- class tkinter.tix.StdButtonBox¶
Виджет StdButtonBox представляет собой группу стандартных кнопок для диалоговых окон, похожих на Motif.
Средства выбора файлов¶
- class tkinter.tix.DirList¶
Виджет DirList отображает список каталогов, их предыдущих каталогов и подкаталогов. Пользователь может выбрать один из каталогов, отображаемых в списке, или перейти в другой каталог.
- class tkinter.tix.DirTree¶
Виджет DirTree отображает древовидное представление каталога, его предыдущих каталогов и подкаталогов. Пользователь может выбрать один из каталогов, отображаемых в списке, или перейти в другой каталог.
- class tkinter.tix.DirSelectDialog¶
Виджет DirSelectDialog отображает каталоги в файловой системе в диалоговом окне. Пользователь может использовать это диалоговое окно для навигации по файловой системе, чтобы выбрать нужный каталог.
- class tkinter.tix.DirSelectBox¶
DirSelectBox
похоже на стандартное окно выбора каталога Motif(TM). Обычно оно используется для выбора каталога пользователем. DirSelectBox сохраняет каталоги, выбранные в основном недавно, в виджете ComboBox, чтобы их можно было быстро выбрать снова.
- class tkinter.tix.ExFileSelectBox¶
Виджет ExFileSelectBox обычно встроен в виджет tixExFileSelectDialog. Он предоставляет пользователю удобный способ выбора файлов. Стиль виджета
ExFileSelectBox
очень похож на стандартный диалог с файлами в MS Windows 3.1.
- class tkinter.tix.FileSelectBox¶
Поле FileSelectBox аналогично стандартному окну выбора файла Motif(TM). Обычно оно используется для того, чтобы пользователь мог выбрать файл. Поле выбора файла сохраняет файлы, выбранные в основном недавно, в виджете
ComboBox
, чтобы их можно было быстро выбрать снова.
Иерархический список¶
- class tkinter.tix.HList¶
Виджет HList можно использовать для отображения любых данных, имеющих иерархическую структуру, например, деревьев каталогов файловой системы. Элементы списка имеют отступы и соединены ответвлениями в соответствии с их местами в иерархии.
- class tkinter.tix.CheckList¶
Виджет CheckList отображает список элементов, которые должен выбрать пользователь. Контрольный список работает аналогично виджетам Tk checkbutton или radiobutton, за исключением того, что он способен обрабатывать гораздо больше элементов, чем кнопки checkbutton или radiobutton.
Табличный список¶
- class tkinter.tix.TList¶
Виджет TList можно использовать для отображения данных в табличном формате. Элементы списка в виджете
TList
аналогичны элементам в виджете Tk listbox. Основные отличия заключаются в том, что (1) виджетTList
может отображать элементы списка в двумерном формате и (2) вы можете использовать графические изображения, а также различные цвета и шрифты для элементов списка.
Менеджер виджетов¶
- class tkinter.tix.PanedWindow¶
Виджет PanedWindow позволяет пользователю в интерактивном режиме изменять размеры нескольких панелей. Панели могут быть расположены как вертикально, так и горизонтально. Пользователь может изменять размеры панелей, перемещая маркер изменения размера между двумя панелями.
- class tkinter.tix.ListNoteBook¶
Виджет ListNoteBook очень похож на виджет
TixNoteBook
: его можно использовать для отображения множества окон в ограниченном пространстве, используя метафору записной книжки. Записная книжка разделена на стопку страниц (окон). Одновременно может быть показана только одна из этих страниц. Пользователь может перемещаться по этим страницам, выбирая название нужной страницы в подвиджетеhlist
.
- class tkinter.tix.NoteBook¶
Виджет NoteBook можно использовать для отображения множества окон в ограниченном пространстве, используя метафору записной книжки. Записная книжка разделена на стопку страниц. Одновременно может быть показана только одна из этих страниц. Пользователь может перемещаться по этим страницам, выбирая визуальные «вкладки» в верхней части виджета «Блокнот».
Типы изображений¶
Модуль tkinter.tix
добавляет:
pixmap возможности всех виджетов
tkinter.tix
иtkinter
для создания цветных изображений из XPM-файлов.Compound типы изображений можно использовать для создания изображений, состоящих из нескольких горизонтальных линий; каждая линия состоит из ряда элементов (текстов, растровых изображений, картинок или пробелов), расположенных слева направо. Например, составное изображение можно использовать для одновременного отображения растрового изображения и текстовой строки в виджете Tk
Button
.
Разные виджеты¶
Менеджер геометрии формы¶
Кроме того, tkinter.tix
дополняет tkinter
, предоставляя:
Команды Tix¶
- class tkinter.tix.tixCommand¶
tix commands обеспечивает доступ к различным элементам внутреннего состояния
Tix
и контексту приложенияTix
. Большая часть информации, обрабатываемой с помощью этих методов, относится к приложению в целом или к экрану или индикатору отображения, а не к конкретному окну.Чтобы просмотреть текущие настройки, обычно используется:
from tkinter import tix root = tix.Tk() print(root.tix_configure())
- tixCommand.tix_configure(cnf=None, **kw)¶
Запросите или измените параметры конфигурации контекста приложения Tix. Если параметр не указан, возвращает словарь всех доступных параметров. Если параметр указан без значения, то метод возвращает список, описывающий один из указанных параметров (этот список будет идентичен соответствующему подсписку возвращаемого значения, если параметр не указан). Если указана одна или несколько пар параметр-значение, то метод изменяет заданные параметры таким образом, чтобы они имели заданные значения; в этом случае метод возвращает пустую строку. Параметром может быть любой из параметров конфигурации.
- tixCommand.tix_cget(option)¶
Возвращает текущее значение параметра конфигурации, заданного с помощью option. Параметром может быть любой из параметров конфигурации.
- tixCommand.tix_getbitmap(name)¶
Находит растровый файл с именем
name.xpm
илиname
в одном из каталогов растровых изображений (смотрите методtix_addbitmapdir()
). Используяtix_getbitmap()
, вы можете избежать жесткого кодирования путей к файлам растровых изображений в вашем приложении. В случае успешного выполнения программа возвращает полный путь к файлу растровых изображений с префиксом@
. Возвращенное значение может быть использовано для настройки параметраbitmap
в виджетах Tk и Tix.
- tixCommand.tix_addbitmapdir(directory)¶
Tix поддерживает список каталогов, в которых методы
tix_getimage()
иtix_getbitmap()
будут выполнять поиск файлов изображений. Стандартный каталог bitmap - это$TIX_LIBRARY/bitmaps
. Методtix_addbitmapdir()
добавляет в этот список directory. Используя этот метод, файлы изображений приложений также можно найти с помощью методаtix_getimage()
илиtix_getbitmap()
.
- tixCommand.tix_filedialog([dlgclass])¶
Возвращает диалоговое окно выбора файла, которое может использоваться совместно различными вызовами из этого приложения. Этот метод создаст виджет диалогового окна выбора файла при первом вызове. Это диалоговое окно будет возвращаться при всех последующих вызовах
tix_filedialog()
. Необязательный параметр класса dlg может быть передан в виде строки, чтобы указать, какой тип диалогового окна выбора файла желателен. Возможные варианты:tix
,FileSelectDialog
илиtixExFileSelectDialog
.
- tixCommand.tix_getimage(self, name)¶
Находит файл изображения с именем
name.xpm
,name.xbm
илиname.ppm
в одном из каталогов bitmap (см. методtix_addbitmapdir()
, описанный выше). Если существует несколько файлов с одинаковыми именами (но разными расширениями), то тип изображения выбирается в соответствии с глубиной отображения X: изображения xbm выбираются на монохромных дисплеях, а цветные изображения - на цветных дисплеях. Используяtix_getimage()
, вы можете избежать жесткого кодирования путей к файлам изображений в вашем приложении. В случае успеха этот метод возвращает имя вновь созданного изображения, которое можно использовать для настройки параметраimage
в виджетах Tk и Tix.
- tixCommand.tix_option_get(name)¶
Получает параметры, поддерживаемые механизмом налоговой схемы.
- tixCommand.tix_resetoptions(newScheme, newFontSet[, newScmPrio])¶
Изменяет схему и набор шрифтов приложения Tix на newScheme и newFontSet соответственно. Это влияет только на те виджеты, которые были созданы после этого вызова. Поэтому лучше всего вызывать метод resetoptions перед созданием каких-либо виджетов в приложении Tix.
Необязательный параметр newScmPrio может быть задан для сброса уровня приоритета параметров Тз, установленных налоговыми схемами.
Из-за способа, которым Tk обрабатывает базу данных X option, после импорта и инициализации Tix невозможно изменить цветовые схемы и наборы шрифтов, используя метод
tix_config()
. Вместо этого необходимо использовать методtix_resetoptions()
.