crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Использование 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  


Цитата(Rosster @ 16.1.2011, 5:05) *
-прямое наследование от ui_класса,

это хуже . Гораздо удобнее иметь все контролы в одном месте - ui
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 16.1.2011, 13:17
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(Алексей1153 @ 16.1.2011, 13:03) *
Цитата(Rosster @ 16.1.2011, 5:05) *
-прямое наследование от 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  


Цитата(Алексей1153 @ 16.1.2011, 13:19) *
BRE, получается рассыпуха контролов, видимая во всём классе формы. Вот и всё :) Любишь бардак - никто не осуждает.

А через ui они не видны? :)
В чем бардак? Есть класс формы, в котором по определению должны быть видны все ее контроллы.


Цитата(Rosster @ 16.1.2011, 15:10) *
Получается единого мнения нету?

Конечно нет, и быть не может.
Как нравиться - так и используй. ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 16.1.2011, 15:45
Сообщение #8


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Цитата(Rosster @ 16.1.2011, 17:10) *
или скорость одинакова? Единственный минус в использовании указателя вижу только в постоянной приписке ui->


скорость одинаковая. А минуса в приписке не вижу - люблю упорядоченность :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
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-файлов
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 18.4.2024, 19:52