Современное программирование графического интерфейса в Python 3.3

Я собираю несколько программ, и настало время приступить к созданию графического интерфейса для некоторых из них. Код в настоящее время написан на Python 3.3.

Я изучил несколько графических интерфейсов для Python, а именно Tkinter, wxPython и PyGTK. Все, что я нахожу, похоже, создает только графический интерфейс, выглядящий довольно архаичным. Я создал несколько примеров GUI, и все они работают, они просто выглядят очень Windows 95.

Пример того, что я нахожу/создаю: http://python.6.x6.nabble.com/file/n4545517/MLDataAnalyzer5.png

Пример того, что я хочу-ish: http://images.six.betanews.com/screenshots/1237236321-1.jpg

Это просто расширенное знание того, как работает графический интерфейс, или есть только модули GUI, более подходящие для "современного" графического интерфейса?

Если это расширенное знание того, как работает графический интерфейс, есть ли какие-то учебные пособия для того, как сделать GUI более "современным".

Спасибо заранее.

Ответы

Ответ 1

Tkinter поставляется с набором виджетов, называемых "themed tk", предоставляемых модулем ttk. Он предлагает более современные альтернативы некоторым из основных виджетов, таких как кнопки и метки, а также имеет несколько новых виджетов, таких как ноутбук и дерево.

Ответ 2

После большого количества исследований я решил использовать библиотеку привязок Qt для Python под названием PyQt5 (http://www.riverbankcomputing.com/software/pyqt/download5). Это довольно легко реализовать и имеет тонны документации. Элементы интерфейса (называемые виджетами в Qt) выглядят точно так же, как в операционной системе хоста: если вы запустите программу в Windows 95, они будут выглядеть так же, как для Windows 7, и даже для MacOS. Я нахожу Qt чрезвычайно мощным. Я разрабатываю приложение Python/MySQL, а модуль QtSql помогает в разработке с созданием таблиц.

Ответ 3

QT - хороший выбор во многих случаях, но иногда вам требуется гораздо более быстрое время отклика или встроенная поддержка OpenGL (ES) или просто еще одна лицензия. Существует множество альтернатив:

Ответ 4

Вы можете использовать htmlPy. Таким образом, вы можете создать графический интерфейс с помощью CSS html js с хорошей внешностью.