Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 31, 2008 21:17:33

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

PyQt4 - построение ui

Доброго дня.

Как известно, у PyQt4 существует несколько вариантов построение интерфейса:
1) руками
2) рисовать designer'ом
2а) .ui –pyuic–> .py, наследование
2б) .ui –pyuic–> .py, атрибут
2в) .ui динамическая загрузка

Меня интересует положительный или отрицательный опыт с одним из вариантов. Что, почему, как :)

P.S. Если варианты не прозрачны, приведу примеры



Офлайн

#2 Янв. 31, 2008 22:33:28

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4 - построение ui

1) руками делаю всё, всем доволен, тем более, что почти всегда приходится сабклассить Qt-шные классы, оверрайдить методы предка, имплементить виртуальные методы, события, добавлять свои и т.д. Серьёзного приложения без этого не создать по любому, иначе не получить всех плюсов от ООП. В этом случае разработчик понимает что твориться, как всё происходит, может быстро найти причину проблемы.

2) ( а - б - в : там отличия не так существенны) в дизайнере нет “контроля ошибок”, думаю это только с первого раза кажется, что всё так же просто как в Делфи или Билдере. Сам начинал в Делфи, и скажу что там всё намного проще (не помню случая, чтобы приходилось заглядывать в файл формы .dfm), а тут всё равно надо знать как что работает.
Из плюсов:
- при желании что-то подвигать, изменить в интерфейсе, можно реально облегчить себе труд.
- есть у меня ещё предположение, что формы описанные в дизайнере (2в), создаются быстрее чем в питоне (руками), т.к. там работает сишный xml парсер интерфейса, а питон отдыхает - но это критично для перегруженых контролами форм.
- ещё в дизайнере можно экспериментировать с интерфейсом, и сразу наблюдать результат, а если писать всё руками - будет очень утомительно, проверил на собственном опыте, но всё равно буду и дальше делать руками:)
Из минусов:
- люди в итоге не понимают что происходит, не понимают что же надо поменять, чтоб заработало.

Подсуммирую: я бы использовал дизайнер, но не для полноценного приложения, а для простых надстроек (над скриптом, приложением с командной строкой), или для диалогов, да в общем везде, где пойдёт стандартный статический интерфейс. А всё серьёзное делается руками:)



Отредактировано (Янв. 31, 2008 22:35:39)

Офлайн

#3 Фев. 1, 2008 04:24:48

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

PyQt4 - построение ui

poltergeist, спасибо за ответ. Твоя позиция ясна ;)

Понятно что у каждого варианта есть плюсы и минусы, иначе был бы бесспорный фаворит, а такого нет. У 1-го варианта плюсы в более красивом коде, но минусы, что а) требуется достаточно высокая квалификация программиста для получения красивого, легко читаемого и поддерживаемого кода. б) даже для мелкой правки интерфейса приходится править код.

У меня был опыт с wxpython и 1-м вариантом. Попробую pyqt4 на пробном проекте, но мне вариант 2б больше нравится.

А что за “контроль ошибок” в дизайнере? (опытом с delphi не обременен)



Офлайн

#4 Фев. 1, 2008 08:43:37

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4 - построение ui

>> А что за “контроль ошибок” в дизайнере? (опытом с delphi не обременен)
Это чисто субъективное моё высказывание, не знаю даже как переформулировать, думаю если руки прямые, всё будет ОК, ну если что - исправим:)

с минусом а) полностью согласен, людей мало; с минусом б) - это не всегда минус.

Будут косяки на пробном проекте или наоборот получится “success story” - отпишись, другие тоже может стоят перед выбором.



Офлайн

#5 Июнь 5, 2008 12:09:32

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

PyQt4 - построение ui

poltergeist
Будут косяки на пробном проекте или наоборот получится “success story” - отпишись, другие тоже может стоят перед выбором.
Забыл отписаться. Исправляюсь: http://www.pyobject.ru/blog/post/pyqt-unpythonic-gui параграф “Как делать GUI”



Офлайн

#6 Окт. 4, 2008 17:02:00

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

PyQt4 - построение ui

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version