tkinter.tix — Расширение виджетов для Tk

Исходный код: Lib/tkinter/tix.py

Не рекомендуется, начиная с версии 3.6: Это расширение Tk не поддерживается и не должно быть используемо в новом коде. Вместо этого используйте tkinter.ttk.


Модуль tkinter.tix (Tk Interface Extension) предоставляет дополнительный набор виджетов. Хотя стандартная библиотека Tk имеет много полезных виджетов, они далеки от завершения. Библиотека tkinter.tix предоставляет большинство часто необходимых виджетов, отсутствующих в стандартных Tk: HList, ComboBox, Control (a.k.a. SpinBox) и ассортимент прокручиваемых виджетов. tkinter.tix также включает в себя гораздо больше виджетов, которые обычно полезны в широком спектре приложений: NoteBook, FileEntry, PanedWindow и т. д.; их более 40.

Все эти новые виджеты позволяют внедрять новые методы взаимодействия в приложения, создавая более полезные и интуитивно понятные пользовательские интерфейсы. Вы можете разработать приложение, выбрав наиболее подходящие виджеты в соответствии с особыми потребностями вашего приложения и пользователей.

См.также

Домашняя страница Tix
Домашняя страница для Tix. Сюда входят ссылки на дополнительную документацию и файлы для загрузки.
Tix справочные страницы
Интерактивная версия справочных страниц и справочного материала.
Руководство по программированию Tix
Интерактивная версия справочного материала программиста.
Разработка Приложений Tix
Приложения Tix для разработки программ Tix и Tkinter. Приложения прилива работают под управлением 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. Пользователь может выбрать вариант, введя его в подвиджет ввода или выбрав его из подвиджета 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). Обычно пользователю используемый выбрать каталог. Директории, выбранные в основном недавно, хранятся в виджете ComboBox, чтобы их можно было быстро выбрать снова.

class tkinter.tix.ExFileSelectBox

Виджет ExFileSelectBox обычно встраивается в виджет tixExFileStartDialog. Это удобный способ выбора файлов. Стиль виджета ExFileSelectBox очень похож на стандартный файловый диалог в MS Windows 3.1.

class tkinter.tix.FileSelectBox

Этот FileSelectBox аналогичен стандартному полю выбора файлов Motif (TM). Обычно пользователю используемый выбрать файл. В FileStartBox файлы, выбранные в основном недавно, хранятся в виджете ComboBox, чтобы их можно было быстро выбрать снова.

class tkinter.tix.FileEntry

Графический элемент FileEntry можно используемый для ввода имени файла. Пользователь может ввести имя файла вручную. Кроме того, пользователь может нажать кнопку виджета, которая находится рядом с записью, что вызовет диалоговое окно выбора файла.

Иерархический ListBox

class tkinter.tix.HList

Виджет HList может быть используемый для отображения любых данных, имеющих иерархическую структуру, например, деревьев каталогов файловой системы. Записи списка разделяются отступами и соединяются линиями ветвей в соответствии с их местами в иерархии.

class tkinter.tix.CheckList

Виджет CheckList отображает список элементов, которые будут выбраны пользователем. CheckList действует аналогично кнопкам Tk или виджетам радиобутонов, за исключением того, что он способен обрабатывать гораздо больше элементов, чем кнопки или радиобутоны.

class tkinter.tix.Tree

Графический виджет Tree можно используемый для отображения иерархических данных в виде дерева. Пользователь может настроить вид дерева, открыв или закрыв его части.

Табличный ListBox

class tkinter.tix.TList

Графический виджет TList можно используемый для отображения данных в табличном формате. Записи списка виджета TList аналогичны записям в виджете списка Tk. Основные отличия: 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.

Разнообразные виджеты

class tkinter.tix.InputOnly

Виджеты InputOnly должны принимать входные данные от пользователя, что можно сделать с помощью команды bind (только Unix).

Диспетчер геометрии формы

Кроме того, tkinter.tix дополняет tkinter, предоставляя:

class tkinter.tix.Form

Диспетчер геометрии Form на основе правил присоединения для всех виджетов Tk.

Команды Tix

class tkinter.tix.tixCommand

Команды tix обеспечивают доступ к различным элементам внутреннего состояние Tix и Tix контекст приложения. Большая часть информации, которой манипулируют этими методами, относится к приложению в целом или к экрану или дисплею, а не к конкретному окну.

Для просмотра текущих параметров используется значение:

from tkinter import tix
root = tix.Tk()
print(root.tix_configure())
tixCommand.tix_configure(cnf=None, **kw)

Выполните запрос или измените параметры конфигурации контекст приложения Tix. Если параметр не указан, возвращает в словарь все доступные параметры. Если опция указана без значение, то метод возвращает список, описывающий одну именованную опцию (этот список будет идентичен соответствующему подсписку значение возвращенный если опция не указана). Если задана одна или несколько пар option-значение, то метод изменяет заданные опции, чтобы они имели заданные значение; в этом случае метод возвращает пустой строка. Опция может быть любой из опций конфигурации.

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() метод используемый.