Название: Рисовать диалоги по центру. Отправлено: pashazz от Июль 21, 2010, 00:41 Наблюдается такая фигня:
(http://winegame-project.ru/webapp/raw-attachment/ticket/9/wcorner1.png) Как бы мне рисовать диалог по центру? Понятно, что нужно использовать setGeometry, но нужно по центру. Может, в Qt можно без платформозависимых средств узнать разрешение экрана? Диалог создается так: Код
Название: Re: Рисовать диалоги по центру. Отправлено: igor_bogomolov от Июль 21, 2010, 01:08 Как бы мне рисовать диалог по центру? Этого вопроса было бы вполне достаточно. Зачем вставлять такие огромные скриншоты в сообщение? >:(Ссылка (http://www.wiki.crossplatform.ru/index.php/%D0%9A%D0%B0%D0%BA_%D1%80%D0%B0%D1%81%D0%BF%D0%BE%D0%BB%D0%BE%D0%B6%D0%B8%D1%82%D1%8C_%D0%BE%D0%BA%D0%BD%D0%BE_%D0%BF%D0%BE_%D1%86%D0%B5%D0%BD%D1%82%D1%80%D1%83_%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%3F) Дополнение. Если диалоговому окну задать родительский виджет, то окно будет появляться в центре этого виджета. Название: Re: Рисовать диалоги по центру. Отправлено: ecspertiza от Июль 21, 2010, 08:00 Вместо
Код: waitDialog->show(); используй Код: waitDialog->exec(); Название: Re: Рисовать диалоги по центру. Отправлено: serg_hd от Июль 21, 2010, 17:10 Код
Название: Re: Рисовать диалоги по центру. Отправлено: zenden от Июль 21, 2010, 17:19 Цитировать Зачем вставлять такие огромные скриншоты в сообщение? как зачем? чтобы пиарить свой продукт Название: Re: Рисовать диалоги по центру. Отправлено: pashazz от Июль 21, 2010, 22:07 вы таки загнули, я не хочу ничего пиарить. Честно, больше не буду скрины вставлять.
Название: Re: Рисовать диалоги по центру. Отправлено: pashazz от Июль 21, 2010, 22:08 Вместо Код: waitDialog->show(); используй Код: waitDialog->exec(); нельзя, exec() забирает управление себе, для меня это неприемлемо Название: Re: Рисовать диалоги по центру. Отправлено: SABROG от Июль 21, 2010, 22:39 нельзя, exec() забирает управление себе, для меня это неприемлемо Какое управление? Модальный диалог создается чтоль?Название: Re: Рисовать диалоги по центру. Отправлено: pashazz от Июль 21, 2010, 22:46 Нет, просто при show() диалог появляется и управление переходит к функции, его вызвавшей сразу.
А при exec() нужно ждать, пока юзер закроет диалог. Название: Re: Рисовать диалоги по центру. Отправлено: ufna от Июль 22, 2010, 08:29 ну а зачем тогда делать QDialog? это самый обычный виджет по смыслу.
использую шоу эвент. А в нем: Код
Название: Re: Рисовать диалоги по центру. Отправлено: crossly от Июль 22, 2010, 09:31 pashazz вы автор этого произведения??.... если да то хотелось бы задать вопрос.... извините за офтоп конечно...
пробовал поставить с этим чудом CS .... все дело остановилось на установке nograshdialog.... т.е winegame показал диалог установки и все... провисел этот дилог пару часов и пришлось кильнуть его... в чем мот быть причина?? Название: Re: Рисовать диалоги по центру. Отправлено: SABROG от Июль 22, 2010, 11:21 А в нем: Код
Самый короткий и более правильный вариант: Код
availableGeometry() меняется в зависимости от размеров Панели Задачи. Если её растянуть на пол экрана, то вариант с screenGeometry() будет не верно позиционировать окно по вертикали. |