0

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

そして、このスクリーンショットのように見えます

誰かが何が悪いのか知っていますか?ご支援いただきありがとうございます。

4

1 に答える 1

1

わかりました、見つけました。を使用している場合

ui->side->addSubWindow(container);

コマンドを実行するには、WindowsFlag を addSubWindow で直接宣言する必要があります。私の場合、これは役立ちます: 変更:

ui->side->addSubWindow(container)

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

于 2016-12-22T12:02:32.303 に答える