Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: sector от Июль 13, 2008, 20:24



Название: QSplashScreen и QProgressBar
Отправлено: sector от Июль 13, 2008, 20:24
Здрасьте все))) Вообщем проблема такова... Хочется использовать QSplashScreen в виде диалога входа (логин, пароль) и желателен еще прогресс бар загрузки... вообщем скока не бился не получается у меня отобразить на нем другие виджеты (видно уже совсем зашился) (( Может кто сталкивался... Заранее благодарен.


Название: Re: QSplashScreen и QProgressBar
Отправлено: pastor от Июль 13, 2008, 21:11
Очевидно разместить виджеты на QSplashScreen неполучиться. Как вариант реализоваться свой сплешскрин и размещать на нем все что нужно


Название: Re: QSplashScreen и QProgressBar
Отправлено: Admin от Июль 14, 2008, 13:19
я бы посмотрел в исходах как сделан QSplashScreen
и на его базе сделал то что нужно


Название: Re: QSplashScreen и QProgressBar
Отправлено: sector от Июль 15, 2008, 22:58
Спасибо ((( Хорошо тогда еще вопрос каким образом лучше всего организовать передачу к главному окну??? Тоесть что то типа finish() в сплашскрине.


Название: Re: QSplashScreen и QProgressBar
Отправлено: Dodge от Июль 16, 2008, 11:14
каким образом лучше всего организовать передачу к главному окну???
Нагреть патой вода автоматы камня... ну и вопрос  ;D

Используйте QDialog, посмотрите методы accept и reject.


Название: Re: QSplashScreen и QProgressBar
Отправлено: sector от Июль 16, 2008, 20:47
каким образом лучше всего организовать передачу к главному окну???
Нагреть патой вода автоматы камня... ну и вопрос  ;D

Используйте QDialog, посмотрите методы accept и reject.

 :) Согласен не совсем корректный вопрос. Уточняюсь... Как бы организовать свой сплеш не вопрос... что и было сделано ранее... вопрос возник когда надо сделать правильный вызов MainWindow который подгружает плагины))) и задача состоит в том чтобы в зависимости от логина погрузить нужные))) а не все... Ранее было сделано не правильно... вызывался свой сплаш, но параллельно грузился класс майннвин в который соответственно цеплял все плагины((( Вообщем если первым вызывать диалог то значит он должен остатся висеть... что тоже не красиво... почему и начал цеплятся к QSplashScreen... хотя если не прав поправьте...


Название: Re: QSplashScreen и QProgressBar
Отправлено: Tonal от Июль 16, 2008, 20:52
Например можно определить в своём сплеше сигнал login, в котором передавать нужную инфу о произошедшем подключении. Тогда главное окно сможет подписатся на этот сигнал и подгрузить только нужное.


Название: Re: QSplashScreen и QProgressBar
Отправлено: sector от Июль 16, 2008, 20:59
Например можно определить в своём сплеше сигнал login, в котором передавать нужную инфу о произошедшем подключении. Тогда главное окно сможет подписатся на этот сигнал и подгрузить только нужное.

Как вариант... спасибо... надо это хорошо обдумать...


Название: Re: QSplashScreen и QProgressBar
Отправлено: Tonal от Июль 16, 2008, 21:15
Есть простое правило относительно взаимодействия виджетов:
Ведущий виджет, если нужно как-то повлиять на ведомый, дёргает функции дочернего.
А ведомый шлёт извещения о произошедших с ним интересных вещах.
Это позволяет в ведомом ничего не знать о ведущем. :)

Наиболее часто ведущий - это родитель, а ведомый - сын.
Если виджеты напрямую не связаны, можно пробросить коммуникацию через общего родителя.