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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: как лучше использовать диалоги, если их требуется много  (Прочитано 3768 раз)
ranet
Гость
« : Сентябрь 25, 2009, 15:29 »

Нужен "политический" совет, как правильнее поступить в том случае, если есть одно главное окно приложения и несколько модальных диалогов (не меньше десятка, для разных таблиц)?
1) Создать все диалоги при старте приложения, и по мере необходимости показывать/прятать?
2) Создавать по одному по мере необходимости, и уничтожать когда диалог становится не нужен? Или лучше прятать?
Записан
Alp
Гость
« Ответ #1 : Сентябрь 25, 2009, 15:55 »

1. Есть ли требования ко времени старта приложения? Если есть - диалоги при загрузке создавать нельзя, только в другом потоке. Если нету - проще создать сразу.
2. Какова вероятность того, что какие-то из них не будут открыты? Если велика - имеет смысл создавать диалоги на ходу (особенно, если они не потребуют много времени на создание).
3. Зачем уничтожать созданный диалог? Скрыть его и все. Если диалог имет родителя (а он его должен иметь, иначе модальность немодальной получится), при удалении родитель удалит всех своих детей.
Записан
cya-st
Гость
« Ответ #2 : Сентябрь 25, 2009, 20:05 »

Я считаю, что не имеет смысла держать все диалоги в памяти. Это кощунство. Грустный
Записан
ufna
Гость
« Ответ #3 : Сентябрь 25, 2009, 20:44 »

хз, мелкие диалоги проще всего создавать/удалять по мере необходимости, на то они и мелкие.

крупные, долгостроящиеся - тут уже в зависимости от удобства для юзера.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #4 : Сентябрь 25, 2009, 20:55 »

Обычно "наследуется" логика модальности: немодальный лучше скрывать/показывать, модальный лучше (пере)создавать. В любом случае грузить из ресурсов очень привлекательно. По поводу "расходов": если нет чего-то "особенного", такого как:

- больших картинок
- большого числа QGraphicsItem
- большого числа строк в лист/комбо боксах

То расходы (как по памяти так и по скорости создания) несущественны даже на скромном железе
Записан
cya-st
Гость
« Ответ #5 : Сентябрь 25, 2009, 21:19 »

...
модальных диалогов (не меньше десятка, для разных таблиц)?
...
Если диалоги для таблиц, то вероятней всего диалог будет ресурсоемким. Лучше всего не парится, а создавать диалоги динамически.
Записан
ranet
Гость
« Ответ #6 : Сентябрь 25, 2009, 23:52 »

Обычно "наследуется" логика модальности: немодальный лучше скрывать/показывать, модальный лучше (пере)создавать. В любом случае грузить из ресурсов очень привлекательно. По поводу "расходов": если нет чего-то "особенного", такого как:

- больших картинок
- большого числа QGraphicsItem
- большого числа строк в лист/комбо боксах

То расходы (как по памяти так и по скорости создания) несущественны даже на скромном железе
Именно так, ничего перечисленного не хочу делать - не требуется пока. Просто таблиц много, структура - разная, просмотр я собрался сделать в QTableView на главном окне приложения (выбрали другую таблицу - перезаполнили из неё QTableView), но для удобства редактирования (юзабельность превыше всего) я хочу еще и диалоги редактирования сделать (многим так больше нравится). То есть выбрали запись в QTableView, нажали кнопочку, и появился диалог (несколько QLineEdit'ов, QPushButton'ов и QLabel'ов), редактируем в нем одну запись таблицы, не больше. Вобщем понятно, СПАСИБО!!!
Наверное сделаю так, что диалог будет создаваться при первом обращении к нему, и прятаться, если перестал быть нужен. А уничтожать его наверное стоит в случае выбора другой таблицы.. хотя может и не обязательно, если расходы по памяти небольшие..
« Последнее редактирование: Сентябрь 25, 2009, 23:59 от ranet » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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