2016-12-21 11 views
0

QWindowオブジェクトのバーを非表示にしようとしましたが、機能しません。 目的は、Ogre3DからのシーンをMDIエリアのQWindowsオブジェクトに表示することです。QWindowヒントが機能しない

これは、メインウィンドウ内のコードです:

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

そして、誰かが間違っているのか分からないことが、このScreenshot

のように見えますか?ご協力ありがとうございます。

+0

ui->side->addSubWindow(container)

あなたはフレームレスウィンドウを持つようにしたいの? –

+0

はい、私は解決策を見つけました。 –

答えて

1

さて、私はそれを見つけました。あなたは

ui->side->addSubWindow(container);

コマンドを使用しているときは、addSubWindowで直接WindowsFlagを宣言しなければなりません。私の場合、このことができます: 変更:

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

関連する問題