Spec-Zone.ru › Python 3.5

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. Преимущество виджета Tix PopupMenu заключается в том, что для его управления требуется меньше кода приложения.

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().

END_OF_DOCUMENT_MARKER
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API