tkinter.tix — Расширенные виджеты для Tk
Исходный код: Lib/tkinter/tix.py
Модуль 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.
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]
2. Виджеты Tix
Tix добавляет более 40 классов виджетов в набор tkinter.
2.1. Базовые виджеты
-
class tkinter.tix.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 объединяет виджет 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.
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 можно использовать для ввода имени файла. Пользователь может ввести имя файла вручную. В качестве альтернативы, пользователь может нажать кнопку, расположенную рядом с полем ввода, которая откроет диалог выбора файла.
2.3. Иерархический список
-
class tkinter.tix.HList -
Виджет HList может использоваться для отображения данных, имеющих иерархическую структуру, например, деревьев каталогов файловой системы. Элементы списка отступом и соединены линиями ветвления в соответствии с их местоположением в иерархии.
-
class tkinter.tix.CheckList -
Виджет CheckList отображает список элементов, которые пользователь может выбрать. CheckList действует аналогично виджетам Tk checkbutton или radiobutton, за исключением того, что он может обрабатывать гораздо больше элементов, чем checkbutton или radiobutton.
-
class tkinter.tix.Tree -
Виджет Tree может использоваться для отображения иерархических данных в виде дерева. Пользователь может изменять вид дерева, открывая или закрывая части дерева.
2.4. Табличный список
-
class tkinter.tix.TList -
Виджет TList может использоваться для отображения данных в табличной форме. Элементы списка виджета
TListпохожи на элементы виджета Tk listbox. Основные отличия заключаются в том, что (1) виджетTListможет отображать элементы списка в двумерном формате и (2) для элементов списка можно использовать графические изображения, а также несколько цветов и шрифтов.
2.5. Виджеты-менеджеры
-
class tkinter.tix.PanedWindow -
Виджет PanedWindow позволяет пользователю интерактивно изменять размеры нескольких областей. Области могут быть расположены вертикально или горизонтально. Пользователь изменяет размеры областей, перетаскивая ручку изменения размера между двумя областями.
-
class tkinter.tix.ListNoteBook -
Виджет ListNoteBook очень похож на виджет
TixNoteBook: он позволяет отображать множество окон в ограниченном пространстве, используя метафору блокнота. Блокнот разделен на стопку страниц (окон). Одновременно можно отображать только одну из этих страниц. Пользователь может перемещаться между страницами, выбирая имя нужной страницы в подвиджетеhlist.
-
class tkinter.tix.NoteBook -
Виджет NoteBook позволяет отображать множество окон в ограниченном пространстве, используя метафору блокнота. Блокнот разделен на стопку страниц. Одновременно отображается только одна страница. Пользователь может переключаться между страницами, выбирая визуальные «вкладки» в верхней части виджета NoteBook.
2.6. Типы изображений
Модуль tkinter.tix добавляет:
-
Возможности работы с pixmap для всех виджетов
tkinter.tixиtkinter, чтобы создавать цветные изображения из файлов XPM. -
Типы изображений Compound можно использовать для создания изображений, состоящих из нескольких горизонтальных линий; каждая линия состоит из ряда элементов (текстов, битовых изображений, изображений или пробелов), расположенных слева направо. Например, составное изображение может использоваться для одновременного отображения битового изображения и строки текста в виджете Tk
Button.
2.7. Разные виджеты
-
class tkinter.tix.InputOnly -
Виджеты InputOnly предназначены для приема ввода от пользователя, который можно сделать с помощью команды
bind(только для Unix).
2.8. Менеджер геометрии формы
Кроме того, tkinter.tix дополняет tkinter путем предоставления:
-
class tkinter.tix.Form -
Менеджер геометрии Form, основанный на правилах привязки для всех виджетов Tk.
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()добавляет 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().
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.5/library/tkinter.tix.html