Q温多提示不起作用

QWindow Hint doesn't work

本文关键字:不起作用 提示      更新时间:2023-10-16

我试图隐藏Qwindow对象的栏,但它不起作用。目的是,在MDI区域中的Qwindows对象上显示一个场景。

这是MainWindow中的代码:

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()));

看起来像这个屏幕截图

有人知道怎么了吗?谢谢您的支持。

好吧,我找到了它。当您使用

ui->side->addSubWindow(container);

命令,您必须在AddSubwindow中直接声明WindowsFlag。就我而言,这有帮助:更改:

ui->side->addSubWindow(container)

to

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