Использование UI-классов |
Здравствуйте, гость ( Вход | Регистрация )
Использование UI-классов |
Rosster |
16.1.2011, 3:05
Сообщение
#1
|
Студент Группа: Участник Сообщений: 33 Регистрация: 23.11.2009 Пользователь №: 1254 Спасибо сказали: 0 раз(а) Репутация: 0 |
Что лучше использовать при присоединении ui файла в проект:
1.Использование автосоединения сигнал-слот: void on_<widget name>_<signal name>(<signal parameters>); В каких случаях лучше применять его, а в каких случаях все делать руками. У кого какой опыт. 2. Два варианта включения ui файла: -прямое наследование от ui_класса, -включение ui_ объекта внутрь класса. |
|
|
Kagami |
16.1.2011, 10:02
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 601 Регистрация: 2.2.2009 Пользователь №: 523 Спасибо сказали: 101 раз(а) Репутация: 9 |
Я обычно использую в своем классе указатель на ui-класс + автосоединение
|
|
|
Алексей1153 |
16.1.2011, 13:03
Сообщение
#3
|
фрилансер Группа: Участник Сообщений: 2939 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
|
|
|
BRE |
16.1.2011, 13:17
Сообщение
#4
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
-прямое наследование от ui_класса, это хуже . Гораздо удобнее иметь все контролы в одном месте - ui Ну не знаю насколько это хуже и почему контролы перестают быть "в одном месте". Да и отпадает необходимость везде писать ui с точкой. |
|
|
Алексей1153 |
16.1.2011, 13:19
Сообщение
#5
|
фрилансер Группа: Участник Сообщений: 2939 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
BRE, получается рассыпуха контролов, видимая во всём классе формы. Вот и всё Любишь бардак - никто не осуждает.
|
|
|
Rosster |
16.1.2011, 15:10
Сообщение
#6
|
Студент Группа: Участник Сообщений: 33 Регистрация: 23.11.2009 Пользователь №: 1254 Спасибо сказали: 0 раз(а) Репутация: 0 |
Получается единого мнения нету? а как с распределением памяти во 2 вопросе по ui включению в проект? и как программа быстрее работает в обоих вопросах?или скорость одинакова? Единственный минус в использовании указателя вижу только в постоянной приписке ui->
|
|
|
BRE |
16.1.2011, 15:17
Сообщение
#7
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
BRE, получается рассыпуха контролов, видимая во всём классе формы. Вот и всё Любишь бардак - никто не осуждает. А через ui они не видны? В чем бардак? Есть класс формы, в котором по определению должны быть видны все ее контроллы. Получается единого мнения нету? Конечно нет, и быть не может. Как нравиться - так и используй. |
|
|
Алексей1153 |
16.1.2011, 15:45
Сообщение
#8
|
фрилансер Группа: Участник Сообщений: 2939 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
|
|
|
Litkevich Yuriy |
16.1.2011, 18:32
Сообщение
#9
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
по поводу UI
* множественное наследование + работать проще, т.к. обращаешься к элементам UI как к члену класса. - при достаточно большом коде, всякие изменения в ui-файле вызывают продолжительную перекомпиляцию, т.к. ui-заголовчник будет включатся в несколько cpp-файлов * агрегация через указатель + быстрая компиляция, т.к. можно использовать предварительное объявление - необходимо создать и удалить ui-объект вручную, т.к. он не наследник QObject. - нужно использовать имя объекта всюду в коде * агрегация через член класса + по сравнению с предыдущим пунктом - не нужно вручную управлять временем жизни ui-объекта - нужно использовать имя объекта всюду в коде - при достаточно большом коде, всякие изменения ui-файле вызывают продолжительную перекомпиляцию, т.к. ui-заголовчник будет включатся в несколько cpp-файлов |
|
|
Текстовая версия | Сейчас: 18.4.2024, 19:52 |