Есть ли какие-нибудь "полезные программы" для инструментальных средств GUI для Python?
Я играл с GTK, TK, wxPython, Cocoa, curses и другими. Они довольно ужасны в использовании. GTK/TK/wx/curses все, по-видимому, в основном являются прямыми портами соответствующих библиотек C, а Cocoa - в основном мандатами, использующими PyObjC и Interface Builder, оба из которых мне не нравятся.
Обучающая библиотека GUI для Ruby отличная.. Она очень разумно спроектирована и очень "рубиновая", и заимствует некоторые приятные в использовании вещи из веб-разработки (например, с использованием шестнадцатеричных цветов или :color => rgb(128,0,0)
)
Как говорится в заголовке: есть ли какие-нибудь приятные "Pythonic" GUI-инструменты?
Ответы
Ответ 1
Вы посмотрели на Qt/PyQt? Хотя PyQt является прямым портом из библиотеки С++, я нахожу его намного более питоническим и приятным для программирования по сравнению с другими, которые вы указали. Он также имеет очень хорошую документацию.
Dabo имеет красивую библиотеку ui, реализованную поверх wxPython. Это структура, предназначенная в основном для приложений, ориентированных на базы данных, но библиотека ui может использоваться отдельно.
Есть еще несколько попыток создать очень pythonic gui в качестве слоя поверх PyGtk или wxPython, например wax и PyGui, которые, кажется, "застревают" в разной степени завершенности.
Кроме того, исчерпывающий список инструментов Python GUI можно найти здесь.
Ответ 2
Пожалуйста, ознакомьтесь с Dabo, нашей инфраструктурой для настольных приложений. http://dabodev.com
Мы завернули набор инструментов wxPython для классов пользовательского интерфейса и заменили их уродливые функции стиля С++ на простые свойства. Вы упомянули назначение цвета: в Dabo вы сделали бы это очень просто, используя ваш выбор:
obj.BackColor = "red"
obj.BackColor = (255, 0, 0)
obj.BackColor = "FF0000"
obj.BackColor = "#FF0000"
Dabo понимает все эти и автоматически обрабатывает различия.
Я один из авторов Dabo и буду рад ответить на любые другие вопросы, которые могут возникнуть у вас.
--- Эд Лиф
Ответ 3
Вторичный PyQt. В сочетании с книгой Rapid GUI Programming с Python и Qt, это действительно легко изучить.
Ответ 4
Я использовал Glade с некоторым успехом, хотя мне не удалось обернуть голову вокруг создания чего-либо действительно сложного. Он имеет красивый графический редактор и сохраняет формы в виде xml файлов, которые загружаются динамически. Вид вроде XAML afiak.
Ответ 5
Я использую pyGtk. Я думаю, что wxPython хорош, но он слишком ограничен, а PyQt - это хорошо, Qt. =)