Russian Qt Forum
Май 03, 2024, 12:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Зачем нужен Designer?  (Прочитано 6080 раз)
CoderInside
Гость
« : Февраль 11, 2006, 20:04 »

Добрый день!
Я новичок в Qt. Занимаюсь ей около месяца.
У меня возник вопрос: "А зачем вообще нужен Qt Designer?".
Вот причины его возникновения:
1. В примерах к Qt (да и в статьях разных) все проекты написаны вручную.
2. Widget'ов мало и свойства их все не выставишь.
3. В Designer'e не сделаешь более менее сложной формы.
4. Нельзя создавать сигналы/слоты (Windows, в KDE можно).
5. Сделанную форму неполучается усовершенствовать вручную далее, а если получается - то в Designer'е с ней уже ничего не поделаешь.
Не понимаю вообщем зачем он нужен...
Проясните пожалуйста этот вопрос. Очень интересно.
И из всего выше написанного исходит еще одно:
"Какой технологии разработки ПО нужно следовать в Qt?"
Все. Заранее большое спасибо.
Записан
Konstantin
Гость
« Ответ #1 : Февраль 11, 2006, 20:32 »

Цитата: "CoderInside"
Добрый день!
Я новичок в Qt. Занимаюсь ей около месяца.
У меня возник вопрос: "А зачем вообще нужен Qt Designer?".
Вот причины его возникновения:
1. В примерах к Qt (да и в статьях разных) все проекты написаны вручную.
2. Widget'ов мало и свойства их все не выставишь.
3. В Designer'e не сделаешь более менее сложной формы.
4. Нельзя создавать сигналы/слоты (Windows, в KDE можно).
5. Сделанную форму неполучается усовершенствовать вручную далее, а если получается - то в Designer'е с ней уже ничего не поделаешь.
Не понимаю вообщем зачем он нужен...
Проясните пожалуйста этот вопрос. Очень интересно.
И из всего выше написанного исходит еще одно:
"Какой технологии разработки ПО нужно следовать в Qt?"
Все. Заранее большое спасибо.


Ну это для недобитых обьектпаскалевцев и визуальных барсиков.  :wink:
Единственный плюс ИМХО - быстро накатать форму,если она довольно сложная.
Я привык все ручками писать.Результат одинаковый
Записан
FrankS
Гость
« Ответ #2 : Февраль 12, 2006, 00:21 »

Наличие альтернативы всегда лучше чем её отсутсвие Подмигивающий
Записан
SLiDER
Гость
« Ответ #3 : Февраль 12, 2006, 02:24 »

Цитата: "CoderInside"
Добрый день!
Я новичок в Qt. Занимаюсь ей около месяца.
У меня возник вопрос: "А зачем вообще нужен Qt Designer?".
Вот причины его возникновения:
1. В примерах к Qt (да и в статьях разных) все проекты написаны вручную.
2. Widget'ов мало и свойства их все не выставишь.
3. В Designer'e не сделаешь более менее сложной формы.
4. Нельзя создавать сигналы/слоты (Windows, в KDE можно).
5. Сделанную форму неполучается усовершенствовать вручную далее, а если получается - то в Designer'е с ней уже ничего не поделаешь.
Не понимаю вообщем зачем он нужен...
Проясните пожалуйста этот вопрос. Очень интересно.
И из всего выше написанного исходит еще одно:
"Какой технологии разработки ПО нужно следовать в Qt?"
Все. Заранее большое спасибо.


ИМХО, визуальность это в большей степени маркетинговый ход, чем что либо другое. Хотя дизайнер не такой уж примитивный как вы о нем говорите. Иногда, в коммерческом программировании, еще до создания самого программного продукта, нужно разработать и показать заказчику так называемый концепт, и делают это, как вы понимаете, чаще всего, не программисты, а скорее дизайнеры, и тут без RAD необойтись. А пользоваться или не пользоваться предлагаемыми инструментами решать, в конечном счете, вам, если, конечно, вы не работаете в команде, в которой уже существует определенный pipeline.
З.Ы. А еще есть люди, которым сложно представить в голове визуальное оформление будующей программы, и приходиться братьв руки карандаш и бумагу.  Веселый  Так что дизайнер имеет полное право на существование и дальнейшее развитие.
З.З.Ы. Сам им иногда пользуюсь.  :roll:
Записан
Dendy
Гость
« Ответ #4 : Февраль 13, 2006, 10:40 »

Дизайнер - мощное средство создания форм. Инструмент программиста, иногда незаменимьІй. От простьІх до самьІх сложньІх визуальньІх форм.

Искуство программьІ в её ергономичности. Именно ето главньІй козьІрь С++. Дизайнер позволяет отделить функционал от внешнего вида, дать программисту заниматься его непосредственной работой, а не не вьІискивать где он прогадал на какой пиксель сдвинуть кнопку.

КаждьІй раз при изменении формьІ функционал остаётся тот же. Кроме того в нём есть редактор действий (Actions), с которьІми связьІваются собьІтия программьІ.

Прелесть Qt в том, что большинство его классов не требуют наследования, то-есть их можно использовать в первозданном виде. Все базовьІе елементьІ в дизайнере есть, им можно задать положение и начальньІе параметрьІ, что очень важно. Если же нужно использовать наследников, то для етого есть пункт Promote to Custom Widget.

Отдельно хочется сказать про слои окон, которьІе автоматически растягивают елементьІ по форме. Ето лишняя работа для создания руками, она несложная, но как всегда куча рутинного кода приводит к ошибкам и избьІточности.

Кроме всего етого форма, нарисованная в дизайнере позволяет автоматически транслировать весь текст на любой язьІк. Опять избьІточность и масса ошибок при рисовании руками - для каждого параметра елемента управления нужно прописьІвать трансляцию в зависимости от контекста. Руками? Нереально.

Не забьІвайте, что создание кода из формьІ - только одна из возможностей её применения. Форму можно подгружать динамически на етапе вьІполнения из xml-файла. В связке с QSA ето позволяет писать скриптовьІе программьІ вместе с визуальньІми формами на лету без перекомпилляции. Возможностей применения етого - коллосальное колличество. Писать формьІ руками - нереально. Дизайнер с етим справляется на ура.

Ещё стоит вспомнить про автомитическое подключение сигналов елементов формьІ к сигналам/слотам контекста. Больше никаких connect() в конструкторе, рассположение и подключение елементов одной строчкой - ui.setupUi( context );

Дизайнер всего лишь создаёт контейнер елементов, которьІе можно рассположить на любом окне, а не строго в вашем.

Если вьІ решаете уж совсем екзотическую задачу - в дизайнер можно легко докинуть своих елементов, которьІе будут вьІглядеть и функционировать как им подобает. Для них будут реактироваться любьІе ваши нововведённьІе параметрьІ.

Напоследок, дизайнер позволяет редактировать соединение стандартньІх сигналов со слотами, редактировать ресурсьІ (например, добавлять картинки на кнопки с автоматическим их занесением в ресурс), редактировать порядок обхода елементов табуляцией (что превращается в довольно нетривиальную задачу, если вьІ частенько двигаете/добавляете/удаляете елементьІ).

Фух. Вобщем - ето незаменимьІй инструмент в определённьІх случаях. Его присутствие в Qt - закономерньІй ход, которьІй позволяет решать массу задач простьІм гибким способом. Короче говоря:

Цитировать
Code Less - Create More
Записан
burunduk
Гость
« Ответ #5 : Февраль 13, 2006, 15:52 »

а у меня какие-то баги с дизайнером были и я забил на него.
может действительно зря....

бага заключалась в том, что когда кликал по какому-то элементу - все остальные прятались куда-то и приходилось переоткрывать постоянно ui-файл.
может что-то не так делал, типа что-то на передний фон выползало и всё остальное закрывало.... но я так и не разобрался.  пишу пока всё в коде.
Записан
BaltikS
Гость
« Ответ #6 : Февраль 13, 2006, 16:40 »

Dendy respect.
Полностью согласен. Не думаю что сложную форму, состающую из, как минимум, 30 фреймов, 20 кнопок, да всё это ещё и в лайоуте вы сделаете ручками быстрее чем в дизайнере! Шокированный
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 20.