Spec-Zone.ru › Python 2.7

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

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

Spec-Zone.ru

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