Вывести виджет поверх другого |
Здравствуйте, гость ( Вход | Регистрация )
Вывести виджет поверх другого |
Adun177 |
1.4.2009, 9:17
Сообщение
#1
|
Студент Группа: Участник Сообщений: 19 Регистрация: 25.2.2009 Пользователь №: 575 Спасибо сказали: 0 раз(а) Репутация: 0 |
Добрый день!
Столкнулся с такой проблемой итак имеем висту и приложение написанное на QT + OpenSceneGraph QT используется для диалогов а рендеринг ведется в окне без рамки размером 800*600 у меня при стандартом задании окон виджеты диалогов выводились под окном рендеринга но я эту проблему решил таким способом this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); для каждого диалога. при разрешении рабочего стола 1280*800 все выводится нормально, но если поставить разрешение 800*600, что мне и нужно, то опять все виджеты диалогов выводятся под окно рендеринга. и еще один вопрос у меня виджет диалога должен выводится поверх виджета рендеринга но если пользователь промахивается по виджету диалога и щелкает по окну рендеринга то выбирается окно рендеринга и окно диалога уходит под него. Как сделать неактивным окно рендеринга когда выведено окно диалога? |
|
|
Litkevich Yuriy |
1.4.2009, 9:21
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Adun177 |
1.4.2009, 9:51
Сообщение
#3
|
Студент Группа: Участник Сообщений: 19 Регистрация: 25.2.2009 Пользователь №: 575 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
trdm |
1.4.2009, 10:17
Сообщение
#4
|
Дмитрий Трошин Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: 6 |
|
|
|
Litkevich Yuriy |
1.4.2009, 10:20
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Adun177, если ты делаешь наследников от QDialog, то вызывай их с помощью exec()
в других случаях см. свойство windowModality |
|
|
Adun177 |
1.4.2009, 12:02
Сообщение
#6
|
Студент Группа: Участник Сообщений: 19 Регистрация: 25.2.2009 Пользователь №: 575 Спасибо сказали: 0 раз(а) Репутация: 0 |
у меня наследники от QWidget
с виджетами вроде разобрался единственно пока не работает QMessageBox::critical(0,message[151],message[7],QMessageBox::Ok); выводится позади окон |
|
|
Andrewshkovskii |
1.4.2009, 12:13
Сообщение
#7
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
вместо 0 указать this?
|
|
|
Litkevich Yuriy |
1.4.2009, 12:14
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Adun177 |
1.4.2009, 14:58
Сообщение
#9
|
Студент Группа: Участник Сообщений: 19 Регистрация: 25.2.2009 Пользователь №: 575 Спасибо сказали: 0 раз(а) Репутация: 0 |
спасибо за советы с модальностью разобрался все работает
однако проблема с окном рендеринга у меня оно должно быть без рамки так вот если оно с рамкой то диалоги выводятся поверх окна если без рамки то выводятся под него все это на висте я использую Qt::FramelessWindowHint qt4.4.3 |
|
|
Adun177 |
2.4.2009, 8:40
Сообщение
#10
|
Студент Группа: Участник Сообщений: 19 Регистрация: 25.2.2009 Пользователь №: 575 Спасибо сказали: 0 раз(а) Репутация: 0 |
проблема так и не решена
ситуация следующая - если разрешение рабочего стола больше чем разрешение окна то все работает нормально однако если выводить главное окно через showFullScreen мои виджеты диалогов выводятся позади и только QMessageBox выводится как надо виджеты диалогов не наследники главного окна рендеринга а независимые окна, если я их делаю так, что их родитель главное окно то они остаются как бы вклеенными в него и не убираются. |
|
|
Текстовая версия | Сейчас: 27.12.2024, 12:19 |