[英]QWindow Hint doesn't work
我试图隐藏QWindow对象的栏,但是它不起作用。 目的是在MDI区域的QWindows对象上显示来自Ogre3D的场景。
这是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)
至
ui->side->addSubWindow(container,Qt::SubWindow | Qt::FramelessWindowHint);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.