Название: Манипуляции с Виджетами. Отправлено: OS2 от Октябрь 21, 2008, 11:43 Добрый день!
Столкнулся с такой проблемой: в окне, производном от QMainWindow, создается несколько виджетов (производных от QWidget), которые перекрывают друг друга. Вопрос в следующем: как вытащить самый нижний виджет поверх остальных? Всем заранее спасибо! Название: Re: Манипуляции с Виджетами. Отправлено: spirit от Октябрь 21, 2008, 11:54 установить этому виджету флаг Qt::WindowStaysOnTopHint, только в ассистанте почитайте примечание.
Название: Re: Манипуляции с Виджетами. Отправлено: pastor от Октябрь 21, 2008, 11:55 QWidget::activateWindow(), QWidget::raise()
Если используеться MDI на основе QMdiArea, то QMdiArea::setActiveSubWindow(QMdiSubWindow *window); если на основе QWorkspace, то QWorkspace::setActiveWindow( QWidget * w ) Название: Re: Манипуляции с Виджетами. Отправлено: OS2 от Октябрь 21, 2008, 12:26 Не один из способов не помог. Окно не MDI. :(
Название: Re: Манипуляции с Виджетами. Отправлено: OS2 от Октябрь 21, 2008, 13:10 Цитировать нужному виджету сделай raise() Я ж написал, что не один из способов не помог. Что странно, на 4.4.1 все работало отлично, а на 4.4.3 не хочет.Цитировать при чём тут окно? Цитировать Если используеться MDI на основе QMdiArea, то ..... Название: Re: Манипуляции с Виджетами. Отправлено: Alex Custov от Октябрь 21, 2008, 17:07 Если в 4.4.1 точно работает, то закинь багу: http://trolltech.com/bugreport-form
Название: Re: Манипуляции с Виджетами. Отправлено: SASA от Октябрь 22, 2008, 19:40 void QWidget::stackUnder ( QWidget * w ) - работает в 4.4.3
Вывод создаём окно, суём под него нужное, удаляем первое. Извращение, но может заработает. |