2010-12-12 5 views
2

Я новичок в программировании на языке python и графическом интерфейсе. Я ищу в Интернете о программировании графического интерфейса и вижу, что есть много способов сделать это. Я вижу, что самым простым способом для GUI в python может быть tkinter (который включен в Python, и это просто GUI-библиотека, а не GUI-построитель)? Я также много читал о GLADE + PyGTK (и формате XML), что там такого особенного (glade - GUI-построитель)?Python GUI (tkinter; pygtk + glade), py2exe

Может ли кто-нибудь сделать «личное мнение» об этом выборе?

У меня есть код на Python, мне нужно сделать простой графический интерфейс (2 кнопки-open-close-read-write и некоторая «печать»), а затем сделать некоторый .exe-файл (есть ли лучший выбор py2exe =?) , Есть ли много изменений в коде для создания графического интерфейса?

Большое спасибо

ответ

0

Если ваш графический интерфейс действительно такой простой, вы должны пойти со встроенным tkinter.

Учебник Hello, Tkinter, который вы можете использовать, это довольно просто. Что касается создания исполняемых файлов, py2exe должен работать без проблем в большинстве случаев (хотя я не пробовал с tkinter). Другой способ создать исполняемый файл, чтобы добавить специальный параметр в файл «setup.py»:

setup(..., 
     entry_points = {"gui_scripts" : ['name-of-executable = name_of_package.launcher:main']}) 

Это, например, создать исполняемый файл, который может быть запущен, набрав «имя-исполняемого файла» в терминал (даже в Windows, если путь «скриптов» Python находится в PATH ^^). Он запускает функцию «main» в модуле под названием «name_of_package». Таким образом, вам не нужно использовать py2exe, но может, например, создать установщик Windows или пакет Debian.

Для более сложных проектов я могу абсолютно рекомендовать PyGTK с Glade в качестве конструктора интерфейса. Для этого требуется несколько пакетов Python, а также установка GTK + (что не всегда так просто для Windows). API замечательный, well-documented и Glade очень просты в использовании, как только вы привыкнете к концепциям компоновки GTK. Но мое мнение немного предвзято, потому что я сделал несколько проектов в PyGTK. wxWidgets или PyQT - хорошие альтернативы. Например, bazaar explorer записывается с использованием QT.

+0

Ну код длиной около 80 строк, я знаю, как сделать GUI, например, легким «привет мир» с tkinter, но в моем коде у меня есть «read input .txt» file, затем некоторый расчет (huffman) и вывод это записать в output.txt и показать некоторые результаты. Для меня может быть много неприятностей. – thaking

+0

@thaking: 80 строк? Это почти ничего. Все, что вам нужно, это поместить материал read/calc в отдельную функцию, а затем, возможно, создать кнопку с функцией [обратного вызова] (http://effbot.org/tkinterbook/button.htm), которая позволяет пользователю выбрать вход файл. Конечно, это зависит от вашего варианта использования, но это должно быть довольно просто. – AndiDog

0

мне очень нравится PyQt привязки для библиотеки Qt. What is PyQt?

Qt сам по себе очень красивый каркас - богатый, мощный, элегантный (по моему вкусу, по крайней мере). И PyQt делает очень хорошую работу по экспорту этой функциональности в среду сценариев.

Плюс, есть очень хорошая книга о разработке PyQt - Rapid GUI Programming with Python and Qt - работа через нее очень помогла мне.