QWindow Hint не работает

Я пытался скрыть панель объекта QWindow, но это не работает.
Цель состоит в том, чтобы показать сцену из Ogre3D поверх объекта QWindows в области MDI.

Это код в главном окне:

ui->setupUi(this);
QWindow *pcwindow = new QWindow();
pcwindow->setHeight(ui->side->height());
pcwindow->setWidth(ui->side->width());
pcwindow->setFlags(Qt::Window | Qt::CustomizeWindowHint);
pcwindow->setFlags(Qt::Window | Qt::FramelessWindowHint);
app = new TutorialApplication;
try
{
app->Windowheight = pcwindow->height();
app->Windowwidth = pcwindow->width();
app->WindowsID = pcwindow->winId();
app->go();
}catch(Ogre::Exception& e) {
...
}

QWidget *container = QWidget::createWindowContainer(pcwindow);
container->setMinimumHeight(pcwindow->height());
container->setMinimumWidth(pcwindow->width());
container->setWindowFlags(Qt::SubWindow | Qt::CustomizeWindowHint);
ui->side->addSubWindow(container);

QTimer *timer = new QTimer(this);
timer->setInterval(10);
timer->start();
connect(timer, SIGNAL (timeout()), app, SLOT (RenderOneFrame()));

И это выглядит так Скриншот

Кто-нибудь знает, что не так? Спасибо за поддержку.

0

Решение

Хорошо, я нашел это. Когда вы используете

ui->side->addSubWindow(container);

Команда, вы должны объявить WindowsFlag непосредственно в addSubWindow. В моем случае это помогает:
Изменить:

ui->side->addSubWindow(container)

в

ui->side->addSubWindow(container,Qt::SubWindow | Qt::FramelessWindowHint);

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]