Russian Qt Forum

Qt => Общие вопросы => Тема начата: Ggg_old от Ноябрь 17, 2005, 12:17



Название: Использование UI-классов
Отправлено: Ggg_old от Ноябрь 17, 2005, 12:17
Решил вынести свой топик из другой темы про компиляцию cpp из ui

После прочтенияfile:///usr/local/Trolltech/Qt-4.0.1/doc/html/designer-using-a-component.html хочется услышать мнение по таким вопросам:

1.Использование автосоединения сигнал-слот:
void on_<widget name>_<signal name>(<signal parameters>);
В каких случаях лучше применять его, а в каких случаях все делать руками. У кого какой опыт.
2. Сабклассинг формы: описываются два варианта:
-прямое наследование от ui_класса,
-включение ui_ объекта внутрь класса.
В статье указывается фактор, который может повлиять выпор в пользу второго варианта: We can use this method to define a number of user interfaces within the same widget, each of which is contained within its own namespace, and overlay (or "compose") them. This approach can be used to create individual tabs from existing forms, for example.
Первый вариант таким преимуществом не обладает, но проще в использовании.
Опять таки на чем лучше остановится на первоначальном этапе, что использовать.
3. Основной объем работы по бизнес коду формы ложится на код классов писанный руками. Получается, что определенные в дизайнере несколько простейших соединений сигнал-слот, практичеси не несут никакой бизнес функции в программе и их можно без особого ущерба времени определить руками. Напрашивается вопрос - насколько полезен редактор соединений дизайнера в реальной практике?

Спасибо.


Название: Использование UI-классов
Отправлено: Racheengel от Ноябрь 17, 2005, 12:29
ИМХО все-таки дизайнером генерить и коннектить слоты было удобнее... Хотя автоконнект сигнал-слот - фича хорошая.


Название: Использование UI-классов
Отправлено: Ggg_old от Ноябрь 17, 2005, 13:33
Забыл уточнить, речь идет о QT4, т.е. сигналы и слоты пользователя в дизайнере больше не определяются.


Название: Использование UI-классов
Отправлено: SLiDER от Ноябрь 17, 2005, 14:14
Цитата: "Racheengel"
ИМХО все-таки дизайнером генерить и коннектить слоты было удобнее... Хотя автоконнект сигнал-слот - фича хорошая.


Но гораздо менее гибкая. :(


Название: Использование UI-классов
Отправлено: Ggg_old от Ноябрь 21, 2005, 13:23
1. по первому пункту выяснил, что QTINTEGRATOR для VS.NET 2003 вставляет функциии автоконнекта сам при даблклике на виджете. Т.е эта функция используется  самим троллтехом. Вывод - использовать автоконнекты.
2. по всторому вопросу - аналогично, классы, которые генерит визард приложений QT использует явное включение объекта внутри класса. Вывод - использовать включение.
3. пока неясно.

P.S.
неужели никто не использовал QT для написания приличных приложений?


Название: Использование UI-классов
Отправлено: Zmey от Ноябрь 21, 2005, 15:04
Цитата: "Ggg_old"
неужели никто не использовал QT для написания приличных приложений?

Qt 4 - почти никто.


Название: Использование UI-классов
Отправлено: nEoN от Ноябрь 21, 2005, 17:43
По поводу использования дизайнера из собственного опыта.

В последние несколько месяцев занимаюсь разработкой одного проекта на Qt4. До этого был другой проект на Qt3.
Designer использую исключительно  для "рисования морды" диалогов, 99% коннектов делаю вручную, в дизайнере только простейшие типа accept/refuse. Чем сложнее поведение и логика окон, тем меньше проку от дизайнера, так что некоторые диалоги реализуются полностью вручную, спасибо Qt-шным менеджерам компановки (Layout management), которые заметно упрощают ручное построение GUI.