Spec-Zone.ru › Python 3.6

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

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

Устарело начиная с версии 3.6: Это расширение Tk не поддерживается и не должно использоваться в новом коде. Используйте tkinter.ttk вместо него.

Модуль 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.

25.3.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]

25.3.2. Виджеты Tix

Tix вводит более 40 классов виджетов в репертуар tkinter.

25.3.2.1. Основные виджеты

class tkinter.tix.Balloon

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

class tkinter.tix.ButtonBox

Виджет ButtonBox создаёт коробку кнопок, как это обычно используется для Ok Cancel.

class tkinter.tix.ComboBox

Виджет 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.

25.3.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 можно использовать для ввода имени файла. Пользователь может ввести имя файла вручную. Кроме того, пользователь может нажать кнопку, расположенную рядом с полем ввода, которая откроет диалог выбора файла.

25.3.2.3. Иерархический список

class tkinter.tix.HList

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

class tkinter.tix.CheckList

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

class tkinter.tix.Tree

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

25.3.2.4. Табличный список

class tkinter.tix.TList

Виджет TList может использоваться для отображения данных в табличной форме. Элементы списка виджета TList похожи на элементы виджета Tk listbox. Основные различия заключаются в том, что (1) виджет TList может отображать элементы списка в двумерном формате и (2) вы можете использовать графические изображения, а также несколько цветов и шрифтов для элементов списка.

25.3.2.5. Виджеты-менеджеры

class tkinter.tix.PanedWindow

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

class tkinter.tix.ListNoteBook

Виджет ListNoteBook очень похож на виджет TixNoteBook: он может использоваться для отображения многих окон в ограниченном пространстве, используя метафору блокнота. Блокнот разделен на стопку страниц (окон). Одновременно отображается только одна из этих страниц. Пользователь может перемещаться между страницами, выбирая имя нужной страницы в подвиджете hlist.

class tkinter.tix.NoteBook

Виджет NoteBook может использоваться для отображения многих окон в ограниченном пространстве, используя метафору блокнота. Блокнот разделен на стопку страниц. Одновременно отображается только одна страница. Пользователь может переходить между страницами, выбирая визуальные «вкладки» в верхней части виджета NoteBook.

25.3.2.6. Типы изображений

Модуль tkinter.tix добавляет:

  • Возможности pixmap ко всем виджетам tkinter.tix и tkinter для создания цветных изображений из файлов XPM.
  • Типы изображений Compound могут использоваться для создания изображений, состоящих из нескольких горизонтальных линий; каждая линия состоит из ряда элементов (текстов, битовых карт, изображений или пробелов), расположенных слева направо. Например, составное изображение может использоваться для одновременного отображения битовой карты и строки текста в виджете Tk Button.

25.3.2.7. Разные виджеты

class tkinter.tix.InputOnly

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

25.3.2.8. Менеджер геометрии формы

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

class tkinter.tix.Form

Менеджер геометрии формы Form на основе правил привязки для всех виджетов Tk.

25.3.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() добавляет каталог в этот список. Используя этот метод, файлы изображений приложения также можно найти с помощью метода 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.6/library/tkinter.tix.html

Spec-Zone.ru

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