24.6. Другие пакеты графического пользовательского интерфейса¶Other Graphical User Interface Packages
Существует ряд расширенных наборов виджетов для tkinter.
См. также
- Python-мегавиджеты
это набор инструментов для создания высокоуровневых составных виджетов на Python с использованием пакета tkinter. Он состоит из набора базовых классов и библиотеки гибких и расширяемых мегавиджетов, построенных на этой основе. Эти мегавиджеты включают блокноты, комбинированные списки, виджеты выбора, панельные виджеты, виджеты с прокруткой, диалоговые окна и т.д. Кроме того, с помощью интерфейса Pmw.Blt к BLT доступны команды busy, graph, stripchart, tabset и vector.
Первоначальные идеи для Pmw были взяты из расширений Tk itcl [incr Tk] Майкла Макленнана и [incr Widgets] Марка Ульфертса. Некоторые из мегавиджетов являются прямыми переводами с itcl на Python. Он предлагает большинство виджетов, которые есть в [incr Widgets], и почти так же полон, как Tix, однако в нём отсутствует быстрый виджет HList из Tix для рисования деревьев.
- Tkinter3000 Widget Construction Kit (WCK)
- это библиотека, позволяющая писать новые виджеты Tkinter на чистом Python. Фреймворк WCK даёт полный контроль над созданием виджетов, их настройкой, внешним видом на экране и обработкой событий. Виджеты WCK могут быть очень быстрыми и лёгкими, поскольку они могут работать напрямую со структурами данных Python, без необходимости передавать данные через слой Tk/Tcl.
Основные кроссплатформенные (Windows, Mac OS X, Unix-подобные) наборы инструментов для GUI, которые также доступны для Python:
См. также
- PyGTK
- это набор привязок для набора виджетов GTK. Он предоставляет объектно-ориентированный интерфейс, который находится на немного более высоком уровне, чем C-интерфейс. Он содержит гораздо больше виджетов, чем Tkinter, и имеет хорошую справочную документацию, ориентированную на Python. Также существуют привязки к GNOME. Одним из известных приложений PyGTK является PythonCAD. Доступен онлайн учебник.
- PyQt
- PyQt – это привязка на основе sip к инструментарию Qt. Qt – это обширный фреймворк для разработки GUI-приложений на C++, доступный для Unix, Windows и Mac OS X. sip – это инструмент для генерации привязок к библиотекам C++ в виде классов Python, и он специально разработан для Python. Для привязок PyQt3 есть книга, GUI Programming with Python: QT Edition Боудевейна Ремпта. Для привязок PyQt4 также есть книга, Rapid GUI Programming with Python and Qt, Марка Саммерфилда.
- wxPython
- wxPython – это кроссплатформенный инструментарий GUI для Python, построенный на основе популярного C++ тулкита wxWidgets (ранее wxWindows) . Он обеспечивает естественный внешний вид и поведение для приложений на Windows, Mac OS X и Unix, используя нативные виджеты каждой платформы где это возможно (GTK+ в Unix-подобных системах). В дополнение к обширному набору виджетов, wxPython предоставляет классы для онлайн- документации и контекстной справки, печати, просмотра HTML, низкоуровневого рисования в контексте устройства, перетаскивания, доступа к системному буферу обмена, формата ресурсов на основе XML и многого другого, включая постоянно растущую библиотеку модулей, предоставленных пользователями. Для wxPython есть книга, wxPython in Action, Ноэля Раппина и Робина Данна.
PyGTK, PyQt и wxPython имеют современный внешний вид и больше виджетов, чем Tkinter. Кроме того, существует множество других тулкитов GUI для Python, как кроссплатформенных, так и платформозависимых. Смотрите страницу Программирование GUI в Python Wiki для более полного списка, а также ссылок на документы, в которых сравниваются различные тулкиты GUI.