tkinter.tix — Расширенные виджеты для Tk
Исходный код: Lib/tkinter/tix.py
Устарело начиная с версии 3.6: Это расширение Tk не поддерживается и не должно использоваться в новом коде. Используйте tkinter.ttk вместо него.
Модуль tkinter.tix (расширение интерфейса Tk) предоставляет дополнительный богатый набор виджетов. Хотя стандартная библиотека Tk содержит много полезных виджетов, они далеки от полноты. Библиотека tkinter.tix предоставляет большинство часто необходимых виджетов, отсутствующих в стандартной Tk: HList, ComboBox, Control (также известный как SpinBox) и набор прокручиваемых виджетов. tkinter.tix также содержит множество других виджетов, которые обычно полезны в широком диапазоне приложений: NoteBook, FileEntry, PanedWindow и т. д.; их более 40.
С помощью всех этих новых виджетов вы можете внедрить новые методы взаимодействия в приложения, создавая более полезные и интуитивно понятные пользовательские интерфейсы. Вы можете спроектировать своё приложение, выбрав наиболее подходящие виджеты, соответствующие особым потребностям вашего приложения и пользователей.
См. также
- Tix Homepage
-
Главная страница
Tix. Она содержит ссылки на дополнительную документацию и загрузки. - Tix Man Pages
-
Онлайн-версия страниц man и справочной информации.
- Tix Programming Guide
-
Онлайн-версия справочника программиста.
- Tix Development Applications
-
Приложения Tix для разработки программ Tix и Tkinter. Приложения Tide работают под Tk или Tkinter и включают TixInspect, инспектор для удалённого изменения и отладки приложений Tix/Tk/Tkinter.
25.3.1. Использование 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')
Если это не сработает, у вас есть проблема с установкой Tk, которую необходимо решить перед продолжением. Используйте переменную окружения TIX_LIBRARY для указания каталога установленной библиотеки Tix, и убедитесь, что у вас есть динамическая библиотека объектов (tix8183.dll или libtix8183.so) в том же каталоге, что и ваша динамическая библиотека объектов Tk (tk8183.dll или libtk8183.so). В каталоге с динамической библиотекой объектов также должен быть файл, называемый pkgIndex.tcl (регистр важен), который содержит строку:
package ifneeded Tix 8.1 [list load "[file join $dir tix8183.dll]" Tix]
25.3.2. Виджеты Tix
Tix вводит более 40 классов виджетов в репертуар tkinter.
25.3.2.1. Основные виджеты
-
class tkinter.tix.Balloon -
Balloon, который всплывает над виджетом, чтобы предоставить справку. Когда пользователь перемещает курсор внутри виджета, к которому привязан виджет Balloon, на экране будет показано небольшое всплывающее окно с описательным сообщением.
-
class tkinter.tix.ButtonBox -
Виджет ButtonBox создаёт коробку кнопок, как это обычно используется для
Ok Cancel.
-
class tkinter.tix.ComboBox -
Виджет ComboBox похож на элемент управления ComboBox в MS Windows. Пользователь может выбрать выбор, либо набрав его в подвиджете entry, либо выбрав его в подвиджете listbox.
-
class tkinter.tix.Control -
Виджет Control также известен как виджет
SpinBox. Пользователь может отрегулировать значение, нажав две кнопки со стрелками или введя значение непосредственно в поле ввода. Новое значение будет проверено на соответствие заданным пользователем верхним и нижним пределам.
-
class tkinter.tix.LabelEntry -
Виджет LabelEntry упаковывает виджет entry и метку в один мега-виджет. Он может быть использован для упрощения создания интерфейса типа «поле ввода с меткой».
-
class tkinter.tix.LabelFrame -
Виджет LabelFrame упаковывает виджет frame и метку в один мега-виджет. Чтобы создать виджеты внутри виджета LabelFrame, новые виджеты создаются относительно подвиджета
frameи управляются внутри подвиджетаframe.
-
class tkinter.tix.Meter -
Виджет Meter может использоваться для отображения прогресса фоновой задачи, которая может выполняться длительное время.
-
class tkinter.tix.OptionMenu -
Виджет OptionMenu создаёт кнопку меню с вариантами.
-
class tkinter.tix.PopupMenu -
Виджет PopupMenu может быть использован как замена команде
tk_popup. Преимущество виджетаTixPopupMenuзаключается в том, что для его управления требуется меньше кода приложения.
-
class tkinter.tix.Select -
Виджет Select — это контейнер подвиджетов кнопок. Он может использоваться для предоставления пользователю вариантов выбора в стиле радиокнопок или флажков.
-
class tkinter.tix.StdButtonBox -
Виджет StdButtonBox — это группа стандартных кнопок для диалоговых окон в стиле Motif.
25.3.2.2. Выбор файлов
-
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, чтобы их можно было быстро выбрать снова.
-
class tkinter.tix.FileEntry -
Виджет FileEntry можно использовать для ввода имени файла. Пользователь может ввести имя файла вручную. Кроме того, пользователь может нажать кнопку, расположенную рядом с полем ввода, которая откроет диалог выбора файла.
25.3.2.3. Иерархический список
-
class tkinter.tix.HList -
Виджет HList можно использовать для отображения данных, имеющих иерархическую структуру, например, древовидных структур каталогов файловой системы. Элементы списка отступом и соединены линиями ветвей в соответствии с их местоположением в иерархии.
-
class tkinter.tix.CheckList -
Виджет CheckList отображает список элементов, которые должен выбрать пользователь. CheckList работает аналогично виджетам Tk checkbutton или radiobutton, но может обрабатывать гораздо больше элементов, чем checkbutton или radiobutton.
-
class tkinter.tix.Tree -
Виджет Tree может использоваться для отображения иерархических данных в виде дерева. Пользователь может изменять представление дерева, открывая или закрывая части дерева.
25.3.2.4. Табличный список
-
class tkinter.tix.TList -
Виджет TList может использоваться для отображения данных в табличной форме. Элементы списка виджета
TListпохожи на элементы виджета Tk listbox. Основные различия заключаются в том, что (1) виджетTListможет отображать элементы списка в двумерном формате и (2) вы можете использовать графические изображения, а также несколько цветов и шрифтов для элементов списка.
25.3.2.5. Виджеты-менеджеры
-
class tkinter.tix.PanedWindow -
Виджет PanedWindow позволяет пользователю интерактивно изменять размеры нескольких панелей. Панели могут быть расположены вертикально или горизонтально. Пользователь изменяет размеры панелей, перетаскивая точку изменения размера между двумя панелями.
-
class tkinter.tix.ListNoteBook -
Виджет ListNoteBook очень похож на виджет
TixNoteBook: он может использоваться для отображения многих окон в ограниченном пространстве, используя метафору блокнота. Блокнот разделен на стопку страниц (окон). Одновременно отображается только одна из этих страниц. Пользователь может перемещаться между страницами, выбирая имя нужной страницы в подвиджетеhlist.
-
class tkinter.tix.NoteBook -
Виджет NoteBook может использоваться для отображения многих окон в ограниченном пространстве, используя метафору блокнота. Блокнот разделен на стопку страниц. Одновременно отображается только одна страница. Пользователь может переходить между страницами, выбирая визуальные «вкладки» в верхней части виджета NoteBook.
25.3.2.6. Типы изображений
Модуль tkinter.tix добавляет:
-
Возможности pixmap ко всем виджетам
tkinter.tixиtkinterдля создания цветных изображений из файлов XPM. -
Типы изображений Compound могут использоваться для создания изображений, состоящих из нескольких горизонтальных линий; каждая линия состоит из ряда элементов (текстов, битовых карт, изображений или пробелов), расположенных слева направо. Например, составное изображение может использоваться для одновременного отображения битовой карты и строки текста в виджете Tk
Button.
25.3.2.7. Разные виджеты
-
class tkinter.tix.InputOnly -
Виджеты InputOnly предназначены для приема ввода от пользователя, что может быть выполнено с помощью команды
bind(только для Unix).
25.3.2.8. Менеджер геометрии формы
Кроме того, tkinter.tix дополняет tkinter, предоставляя:
-
class tkinter.tix.Form -
Менеджер геометрии формы Form на основе правил привязки для всех виджетов Tk.
25.3.3. Команды 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()будут искать файлы изображений. Стандартный каталог битовых карт —$TIX_LIBRARY/bitmaps. Методtix_addbitmapdir()добавляет каталог в этот список. Используя этот метод, файлы изображений приложения также можно найти с помощью метода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().
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.6/library/tkinter.tix.html