Название: окно в фоновом режиме Отправлено: tornadodead от Март 05, 2012, 12:48 Отображаю диалоговое окно(модальное, по началу),
Код: MyDialog.setModel(true); пробую так Код: this.setModal(false); Название: Re: окно в фоновом режиме Отправлено: mutineer от Март 05, 2012, 12:55 Конечно безуспешно
Цитировать windowModality : Qt::WindowModality Changing this property while the window is visible has no effect; you must hide() the widget first, then show() it again. Цитировать void setModal ( bool modal ) This property holds whether show() should pop up the dialog as modal or modeless Нельзя поменять модальность уже видимого окна Название: Re: окно в фоновом режиме Отправлено: tornadodead от Март 05, 2012, 13:02 Цитировать Нельзя поменять модальность уже видимого окна и что мне при нажатии кнопки, скрывать, затем заново отображать окно? как то мерцает это все дело=)))Название: Re: окно в фоновом режиме Отправлено: Bepec от Март 05, 2012, 13:15 И научиться цитаты добавлять. Зачем вообще модальное окно делать фоновым???
Сей вопрос меня занимает однако... Название: Re: окно в фоновом режиме Отправлено: tornadodead от Март 05, 2012, 13:20 И научиться цитаты добавлять. Зачем вообще модальное окно делать фоновым??? сорри=)))Сей вопрос меня занимает однако... тут дело такое, нужно вывести пользователю модальное окно, и затем как он подтвердит(или еще что-то), то его сделать не модальным, оно будет отображать некий процесс, а потом уж само закроется=))) Название: Re: окно в фоновом режиме Отправлено: Bepec от Март 05, 2012, 13:22 Не проще его убрать нафиг, взамен выведя окно ожидания аля "индикатор, надпись подожжите и красную кнопочку отмены?".
Ну если честно, смысла особого не вижу. Если ты выводишь модальным, так держи марку до конца. Название: Re: окно в фоновом режиме Отправлено: mutineer от Март 05, 2012, 13:29 Цитировать Нельзя поменять модальность уже видимого окна и что мне при нажатии кнопки, скрывать, затем заново отображать окно? как то мерцает это все дело=)))Прежде всего стоит читать справку по используемым функциям Название: Re: окно в фоновом режиме Отправлено: tornadodead от Март 05, 2012, 13:29 Ну если честно, смысла особого не вижу. Если ты выводишь модальным, так держи марку до конца. нет сначало нужно действие пользователя, типо подтвердить, а потом уже выполнять задачу, а окошко, должно быть на случай отмены.Цитировать Не проще его убрать нафиг, взамен выведя окно ожидания аля "индикатор, надпись подожжите и красную кнопочку отмены?". так и будет, но при этом доступ должен быть к главному окну.т.е. когда пользователь подтвердит, сделать типо Код: this->hide(); Название: Re: окно в фоновом режиме Отправлено: Bepec от Март 05, 2012, 13:37 Это плохо и нервирует пользователя.
Учись интерфейсу у популярных программ. Тот же Total Commander - запрос на копирование - модальное окно с параметрами и кнопкой подтверждения. Подтверждаешь - остаётся модальное окно с кнопкой "в фоне". Щёлкаешь "в фоне" - модальный виджет убирается, отображается сокращённый, немодальный с полосой процесса. Название: Re: окно в фоновом режиме Отправлено: tornadodead от Март 05, 2012, 13:41 Это плохо и нервирует пользователя. Возможно так и есть, тут смысл не в том, а как из модального сделать не модальное, ну как понял, манипулировать методами hide() и show()Учись интерфейсу у популярных программ. Тот же Total Commander - запрос на копирование - модальное окно с параметрами и кнопкой подтверждения. Подтверждаешь - остаётся модальное окно с кнопкой "в фоне". Щёлкаешь "в фоне" - модальный виджет убирается, отображается сокращённый, немодальный с полосой процесса. Название: Re: окно в фоновом режиме Отправлено: GreatSnake от Март 05, 2012, 13:53 Модальность легко решается перегрузкой QCoreApplication::notify(), в котором просто дропаешь все мышиные и клавиатурные события для виджетов модального окна, что в принципе и делает Qt.
|