Tix — Расширенные виджеты для Tk
Модуль Tix (расширение интерфейса Tk) предоставляет дополнительный богатый набор виджетов. Хотя стандартная библиотека Tk имеет множество полезных виджетов, они далеки от полноты. Библиотека Tix предоставляет большинство необходимых виджетов, отсутствующих в стандартном Tk: HList, ComboBox, Control (также известный как SpinBox) и набор прокручиваемых виджетов. Tix также включает во множество других полезных виджетов, которые полезны в широком спектре приложений: NoteBook, FileEntry, PanedWindow и т. д.; их более 40.
С помощью всех этих новых виджетов вы можете добавить новые методы взаимодействия в приложения, создавая более полезные и интуитивные пользовательские интерфейсы. Вы можете разработать свое приложение, выбрав наиболее подходящие виджеты, чтобы удовлетворить особые потребности вашего приложения и пользователей.
Примечание
Tix был переименован в tkinter.tix в Python 3. Инструмент 2to3 автоматически адаптирует импорты при преобразовании ваших исходных кодов в Python 3.
См. также
- Главная страница Tix
-
Главная страница
Tix. Она содержит ссылки на дополнительную документацию и загрузки. - Страницы руководства Tix
-
Онлайн-версия страниц руководства и справочной информации.
- Руководство по программированию Tix
-
Онлайн-версия справочника по программированию.
- Приложения для разработки Tix
-
Приложения Tix для разработки программ Tix и Tkinter. Приложения Tide работают под управлением Tk или Tkinter и включают в себя TixInspect — инспектор для удалённого изменения и отладки приложений Tix/Tk/Tkinter.
1. Использование Tix
-
class Tix.Tix(screenName[, baseName[, className]]) -
Виджет верхнего уровня Tix, который в основном представляет главное окно приложения. Он имеет связанный интерпретатор Tcl.
Классы в модуле
Tixявляются подклассами классов в модулеTkinter. Первый импортирует второй, поэтому для использованияTixс Tkinter вам нужно просто импортировать один модуль. В общем случае вы можете просто импортироватьTix, а вызов верхнего уровня дляTkinter.Tkзаменить наTix.Tk:import Tix from Tkconstants import * root = Tix.Tk()
Для использования Tix необходимо иметь установленные виджеты Tix, обычно вместе с установкой виджетов Tk. Для проверки вашей установки попробуйте следующее:
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. Демо всех виджетов Tix находится в каталоге Demo/tix стандартного дистрибутива.
2.1. Базовые виджеты
-
class Tix.Balloon -
Баллон, который появляется над виджетом, чтобы предоставить справку. Когда пользователь перемещает курсор внутри виджета, к которому привязан виджет Баллон, на экране появится небольшое всплывающее окно с описательным сообщением.
-
class Tix.ButtonBox -
Виджет ButtonBox создаёт коробку кнопок, как обычно используется для
Ok Cancel.
-
class Tix.ComboBox -
Виджет ComboBox похож на элемент управления ComboBox в MS Windows. Пользователь может выбрать значение, либо набрав его в поле ввода, либо выбрав его из списка.
-
class Tix.Control -
Виджет Control также известен как виджет
SpinBox. Пользователь может изменить значение, нажав на две стрелки или введя значение непосредственно в поле ввода. Новое значение будет проверяться на соответствие заданным пользователем верхним и нижним пределам.
-
class Tix.LabelEntry -
Виджет LabelEntry объединяет виджет поля ввода и метку в один виджет. Он может быть использован для упрощения создания интерфейса типа "форма-ввода".
-
class Tix.LabelFrame -
Виджет LabelFrame объединяет виджет рамки и метку в один виджет. Для создания виджетов внутри виджета LabelFrame необходимо создать новые виджеты относительно подвиджета
frameи управлять ими внутри подвиджетаframe.
-
class Tix.Meter -
Виджет Meter может быть использован для отображения прогресса фоновой задачи, которая может занимать много времени.
-
class Tix.OptionMenu -
Виджет OptionMenu создаёт кнопку меню с опциями.
-
class Tix.PopupMenu -
Виджет PopupMenu может быть использован как замена команды
tk_popup. Преимущество виджетаTixPopupMenuзаключается в том, что для манипулирования им требуется меньше кода приложения.
-
class Tix.Select -
Виджет Select представляет собой контейнер кнопочных подвиджетов. Он может быть использован для предоставления пользователю опций выбора в стиле радиокнопок или флажков.
-
class Tix.StdButtonBox -
Виджет StdButtonBox представляет собой группу стандартных кнопок для диалоговых окон в стиле Motif.
2.2. Выбор файлов
-
class Tix.DirList -
Виджет DirList отображает список каталогов, его родительских и дочерних каталогов. Пользователь может выбрать один из отображаемых каталогов или перейти в другой каталог.
-
class Tix.DirTree -
Виджет DirTree отображает древовидное представление каталога, его родительских и дочерних каталогов. Пользователь может выбрать один из отображаемых каталогов или перейти в другой каталог.
-
class Tix.DirSelectDialog -
В виджете DirSelectDialog отображаются каталоги файловой системы в диалоговом окне. Пользователь может использовать это диалоговое окно для навигации по файловой системе и выбора нужного каталога.
-
class Tix.DirSelectBox -
Виджет
DirSelectBoxпохож на стандартный диалог выбора каталога Motif(TM). Он обычно используется для выбора каталога. DirSelectBox сохраняет наиболее часто выбираемые каталоги в виджете ComboBox, чтобы их можно было быстро выбрать повторно.
-
class Tix.ExFileSelectBox -
Виджет ExFileSelectBox обычно встраивается в виджет tixExFileSelectDialog. Он предоставляет удобный способ для пользователя выбрать файлы. Стиль виджета
ExFileSelectBoxочень похож на стандартный диалог выбора файла в MS Windows 3.1.
-
class Tix.FileSelectBox -
Виджет FileSelectBox похож на стандартный диалог выбора файла Motif(TM). Он обычно используется для выбора файла. FileSelectBox сохраняет наиболее часто выбираемые файлы в виджете
ComboBox, чтобы их можно было быстро выбрать повторно.
-
class Tix.FileEntry -
Виджет FileEntry можно использовать для ввода имени файла. Пользователь может ввести имя файла вручную. В качестве альтернативы пользователь может нажать кнопку, расположенную рядом с полем ввода, которая откроет диалог выбора файла.
2.3. Иерархический список
-
class Tix.HList -
Виджет HList можно использовать для отображения данных с иерархической структурой, например, деревьев каталогов файловой системы. Элементы списка отступом и соединены линиями ветвления в соответствии с их местоположением в иерархии.
-
class Tix.CheckList -
Виджет CheckList отображает список элементов, которые должен выбрать пользователь. CheckList работает аналогично виджетам Tk checkbutton или radiobutton, но может обрабатывать гораздо больше элементов, чем checkbutton или radiobutton.
-
class Tix.Tree -
Виджет Tree можно использовать для отображения иерархических данных в виде дерева. Пользователь может изменять представление дерева, открывая или закрывая части дерева.
2.4. Табличный список
-
class Tix.TList -
Виджет TList можно использовать для отображения данных в табличном формате. Элементы списка виджета
TListпохожи на элементы виджета Tk listbox. Основные различия: (1) виджетTListможет отображать элементы списка в двумерном формате и (2) вы можете использовать графические изображения, а также несколько цветов и шрифтов для элементов списка.
2.5. Виджеты-менеджеры
-
class Tix.PanedWindow -
Виджет PanedWindow позволяет пользователю интерактивно изменять размеры нескольких панелей. Панели могут быть расположены вертикально или горизонтально. Пользователь изменяет размеры панелей, перетаскивая ручку изменения размера между двумя панелями.
-
class Tix.ListNoteBook -
Виджет ListNoteBook очень похож на виджет
TixNoteBook: он может отображать много окон на ограниченной площади, используя метафору блокнота. Блокнот разделён на стопку страниц (окон). Одновременно можно отобразить только одну из этих страниц. Пользователь может переходить между страницами, выбирая имя нужной страницы в подвиджетеhlist.
-
class Tix.NoteBook -
Виджет NoteBook позволяет отображать много окон на ограниченной площади, используя метафору блокнота. Блокнот разделён на стопку страниц. Одновременно отображается только одна страница. Пользователь может переходить между страницами, выбирая визуальные «вкладки» в верхней части виджета NoteBook.
2.6. Типы изображений
Модуль Tix добавляет:
-
Возможности работы с pixmap для всех виджетов
TixиTkinter, чтобы создавать цветные изображения из файлов XPM. -
Типы изображений Compound могут использоваться для создания изображений, состоящих из нескольких горизонтальных линий; каждая строка состоит из ряда элементов (текстов, битовых карт, изображений или пробелов), расположенных слева направо. Например, составное изображение можно использовать для одновременного отображения битовой карты и текстовой строки в виджете Tk
Button.
2.7. Разные виджеты
-
class Tix.InputOnly -
Виджеты InputOnly предназначены для приёма входных данных от пользователя, что можно сделать с помощью команды
bind(только для Unix).
2.8. Менеджер геометрии форм
Кроме того, Tix дополняет Tkinter предоставлением:
-
class Tix.Form -
Менеджер геометрии форм Form на основе правил привязки для всех виджетов Tk.
3. Команды Tix
-
class Tix.tixCommand -
Команды tix commands предоставляют доступ к различным элементам внутреннего состояния
Tixи контексту приложенияTix. Большая часть информации, обрабатываемой этими методами, относится к приложению в целом, а также к экрану или дисплею, а не к конкретному окну.Для просмотра текущих настроек обычно используется:
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/2.7/library/tix.html