tkinter.tix
— Виджеты расширения для Tk¶
Исходный код: Lib/tkinter/tix.py.
Не рекомендуется, начиная с версии 3.6: Это расширение Tk не поддерживается и не должно использоваться в новом коде. Вместо него используйте tkinter.ttk
.
Модуль tkinter.tix
(Tk Interface Extension) предоставляет дополнительный богатый набор виджетов. Хотя в стандартной библиотеке Tk есть много полезных виджетов, они далеко не полны. Библиотека tkinter.tix
предоставляет большинство часто востребованных виджетов, отсутствующих в стандартной Tk: HList
, ComboBox
, Control
(он же SpinBox) и ряд прокручиваемых виджетов. tkinter.tix
также включает множество других виджетов, которые в целом полезны в широком спектре приложений: NoteBook
, FileEntry
, PanedWindow
и т.д.; их более 40.
С помощью всех этих новых виджетов вы можете внедрить в приложения новые методы взаимодействия, создавая более полезные и более интуитивные пользовательские интерфейсы. Вы можете спроектировать свое приложение, выбрав наиболее подходящие виджеты в соответствии с особыми потребностями вашего приложения и пользователей.
См.также
- Tix Homepage
Домашняя страница для
Tix
. Здесь содержатся ссылки на дополнительную документацию и файлы для загрузки.- Tix Man Pages
Онлайновая версия man-страниц и справочных материалов.
- Tix Programming Guide
On-line версия справочного материала для программистов.
- Tix Development Applications
Tix-приложения для разработки Tix и Tkinter программ. Приложения Tide работают под Tk или Tkinter и включают TixInspect, инспектор для удаленной модификации и отладки приложений Tix/Tk/Tkinter.
Использование тиксов¶
-
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 вводит в репертуар tkinter
более 40 классов виджетов.
Основные виджеты¶
-
class
tkinter.tix.
Balloon
¶ Balloon, всплывающее над виджетом для предоставления помощи. Когда пользователь перемещает курсор внутри виджета, к которому привязан виджет Balloon, на экране появляется небольшое всплывающее окно с описательным сообщением.
-
class
tkinter.tix.
ButtonBox
¶ Виджет ButtonBox создает блок кнопок, такой как обычно используется для
Ok Cancel
.
-
class
tkinter.tix.
ComboBox
¶ Виджет ComboBox похож на элемент управления combo box в MS Windows. Пользователь может выбрать вариант, либо набрав текст в подвиджет ввода, либо выбрав его из подвиджета listbox.
-
class
tkinter.tix.
Control
¶ Виджет Control также известен как виджет
SpinBox
. Пользователь может регулировать значение, нажимая две кнопки со стрелками или вводя значение непосредственно в поле ввода. Новое значение будет сверено с заданными пользователем верхним и нижним пределами.
-
class
tkinter.tix.
LabelEntry
¶ Виджет LabelEntry объединяет виджет входа и метку в один мега-виджет. Его можно использовать для упрощения создания интерфейса типа «entry-form».
-
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). Обычно оно используется для выбора пользователем файла. FileSelectBox сохраняет недавно выбранные файлы в виджете
ComboBox
, чтобы их можно было быстро выбрать снова.
Иерархический ListBox¶
-
class
tkinter.tix.
HList
¶ Виджет HList можно использовать для отображения любых данных, имеющих иерархическую структуру, например, деревьев каталогов файловой системы. Элементы списка отступают друг от друга и соединяются ветвями в соответствии с их местом в иерархии.
Табличный ListBox¶
-
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 можно использовать для отображения множества окон в ограниченном пространстве, используя метафору блокнота. Блокнот разделен на стопку страниц. В один момент времени может быть показана только одна из этих страниц. Пользователь может перемещаться по этим страницам, выбирая визуальные «вкладки» в верхней части виджета NoteBook.
Типы изображений¶
Модуль tkinter.tix
добавляет:
pixmap возможности всех виджетов
tkinter.tix
иtkinter
для создания цветных изображений из файлов XPM.Типы изображений Compound можно использовать для создания изображений, состоящих из нескольких горизонтальных линий; каждая линия состоит из ряда элементов (текстов, растровых изображений, картинок или пробелов), расположенных слева направо. Например, составное изображение можно использовать для одновременного отображения растрового изображения и текстовой строки в виджете Tk
Button
.
Различные виджеты¶
Менеджер геометрии формы¶
Кроме того, tkinter.tix
дополняет tkinter
, предоставляя:
Команды тикса¶
-
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()
будут искать файлы изображений. Стандартным каталогом растровых изображений является$TIX_LIBRARY/bitmaps
. Методtix_addbitmapdir()
добавляет directory в этот список. Используя этот метод, файлы изображений приложения можно также найти с помощью методаtix_getimage()
илиtix_getbitmap()
.
-
tixCommand.
tix_filedialog
([dlgclass])¶ Возвращает диалог выбора файла, который может быть совместно использован различными вызовами данного приложения. Этот метод создаст виджет диалога выбора файла при первом вызове. Этот диалог будет возвращаться при всех последующих вызовах
tix_filedialog()
. Необязательный параметр dlgclass может быть передан в виде строки, чтобы указать, какой тип виджета диалога выбора файла желателен. Возможные варианты:tix
,FileSelectDialog
илиtixExFileSelectDialog
.
-
tixCommand.
tix_getimage
(self, name)¶ Находит файл изображения с именем
name.xpm
,name.xbm
илиname.ppm
в одном из каталогов растровых карт (см. выше методtix_addbitmapdir()
). Если существует более одного файла с одинаковым именем (но разными расширениями), то тип изображения выбирается в соответствии с глубиной X дисплея: xbm изображения выбираются на монохромных дисплеях, а цветные изображения - на цветных дисплеях. Используяtix_getimage()
, вы можете избежать жесткого кодирования путей к файлам изображений в вашем приложении. В случае успеха этот метод возвращает имя вновь созданного изображения, которое можно использовать для настройки опцииimage
виджетов Tk и Tix.
-
tixCommand.
tix_option_get
(name)¶ Получает опции, поддерживаемые механизмом схемы Tix.
-
tixCommand.
tix_resetoptions
(newScheme, newFontSet[, newScmPrio])¶ Сбрасывает схему и набор шрифтов приложения Tix на newScheme и newFontSet, соответственно. Это влияет только на те виджеты, которые были созданы после этого вызова. Поэтому лучше всего вызывать метод resetoptions до создания каких-либо виджетов в приложении Tix.
Необязательный параметр newScmPrio может быть задан для сброса уровня приоритета опций Tk, установленных схемами Tix.
Из-за того, как Tk работает с базой данных опций X, после импорта и запуска Tix невозможно сбросить цветовые схемы и наборы шрифтов с помощью метода
tix_config()
. Вместо этого необходимо использовать методtix_resetoptions()
.