crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Вывести виджет поверх другого
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, что мне и нужно,
то опять все виджеты диалогов выводятся под окно рендеринга.
и еще один вопрос у меня виджет диалога должен выводится поверх виджета рендеринга но если пользователь промахивается по виджету диалога и щелкает по окну рендеринга то выбирается окно рендеринга и окно диалога уходит под него. Как сделать неактивным окно рендеринга когда выведено окно диалога?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов (1 - 9)
Litkevich Yuriy
  опции профиля:
сообщение 1.4.2009, 9:21
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Adun177 @ 1.4.2009, 13:17) *
Как сделать неактивным окно рендеринга когда выведено окно диалога?
сделать диалог модальным?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Adun177
  опции профиля:
сообщение 1.4.2009, 9:51
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 19
Регистрация: 25.2.2009
Пользователь №: 575

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 1.4.2009, 9:21) *
Цитата(Adun177 @ 1.4.2009, 13:17) *
Как сделать неактивным окно рендеринга когда выведено окно диалога?
сделать диалог модальным?

а это как?
сории за нубские вопросы
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 1.4.2009, 10:17
Сообщение #4


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


QDialog modal
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
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, 16:02) *
QMessageBox::critical(0,message[151],message[7],QMessageBox::Ok);
выводится позади окон
передай ему указатель на виджет, вместо нуля. Тогда он будет повер заданного виджета и поцентру.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
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 выводится как надо
виджеты диалогов не наследники главного окна рендеринга а независимые окна, если я их делаю так, что их родитель главное окно то они остаются как бы вклеенными в него и не убираются.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.12.2024, 11:53