Создание графического интерфейса с Python в Linux

Быстрый вопрос.

Я использую Linux, и я хочу попробовать создать графический интерфейс с Python. Я слышал о чем-то вроде Qt, GTK + и PyGTK, но я не знаю, что они точно и какова разница между ними.

Есть ли разница в том, как они работают с разными DE, такими как GNOME, KDE, XFCE и т.д.? Есть ли какой-либо IDE, который позволяет создавать графический интерфейс, например, Microsoft Visual Studio (для С#, C, Visual Basic и т.д.)?

Или я могу использовать другой язык, отличный от Python, для создания графических приложений?

Ответ 1

Ваш первый шаг должен быть http://wiki.python.org/moin/GuiProgramming

Некоторые наборы инструментов лучше интегрируются в одну среду по сравнению с другой. Например, PyQt, PyKDE (и новый PySide) будут играть лучше в среде KDE, в то время как версии GTK (включая WX -widgets) будет лучше сочетаться с рабочими столами GNOME/XFCE.

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

Вы также должны учитывать зависимость, которую ваш выбор диктует, и то, что приходит по умолчанию с базовым DE. Например, PyKDE в ветки KDE 3.X имел нетривиальный набор зависимостей, тогда как в ветке 4.X связывание в плазме делало зависимость программирования Python от GUI меньше проблемы.

Существует несколько инструментов IDE на разных уровнях полноты и зрелости. Лучше всего попробовать еще одно, и посмотреть, что лучше всего соответствует вашим потребностям.

Ответ 2

Я бы не использовал другой язык для создания графического интерфейса для Python.

Мне повезло с wxwidgets, который является связыванием python для WX, кросс-платформенной системы разработки. Это довольно легко учиться и достаточно мощно. Проблема с wxwidgets заключается в том, что она не установлена ​​по умолчанию, поэтому ваши пользователи должны будут установить ее на каждой платформе, которую они хотят запустить. Подробнее об этом можно узнать на http://wxwidgets.org/.

Если вы хотите, чтобы люди могли использовать вашу программу, не устанавливая ничего, используйте Tkinter, систему GUI, которая поставляется с Python.

Я бы избегал связывания Python для GTK или KDE, если вы уже не знаете эти системы. Они также должны быть загружены, и они, похоже, не имеют такого же усыновления, как wxwidgets.

Ответ 3

Каждая среда рабочего стола использует конкретный инструментарий для сборки компонентов. Например, KDE использует Qt, а GNOME использует Gtk.

Использование вами инструментария будет зависеть от того, на какой тип настольной среды вы ориентируетесь, и если вы хотите настроить таргетинг на широкий круг настольных компьютеров, тогда используйте набор инструментов, который будет работать во многих средах рабочего стола, таких как виджеты Wx, которые будет работать в Linux, Mac OS и Windows. Для создания простых графических приложений Tkinter будет делать.

Ответ 5

Использовать PyGTK. Так же важно, как инструментарий - это его подкрепление, а PyGTK также использует GLib с его файловыми абстракциями (python module gio), которые очень важны для рабочего стола Linux, его высокоуровневые функции межсетевого экрана, такие как glib.get_user_data_dir(), а также другие инструменты платформы приложения и GObject и его модель свойств и сигналов.