我从这个有点老的例子开始工作:http: //doc.qt.nokia.com/qq/qq26-openglcanvas.html
我理解该示例的方式是,使用窗口标志 CustomizeWindowHint 和 WindowTitle 提示添加到场景中的 QDialog 应该有一个类似于顶级对话框的标题栏。但是,当我运行该示例时,我没有标题栏。:(
我也尝试了其他几个标志,但我只看到一个没有标题栏的小 QLabel。
下面的代码:
QGraphicsView view;
view.setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers)));
view.setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
view.setScene(new MyGLScene(0));
QDialog *dialog = new QDialog(0, Qt::CustomizeWindowHint | Qt::WindowTitleHint
| Qt::WindowCloseButtonHint | Qt::WindowMinimizeButtonHint);
dialog->setWindowOpacity(0.8);
dialog->setWindowTitle("Sample");
dialog->setLayout(new QVBoxLayout);
dialog->layout()->addWidget(new QLabel("Hello!"));
dialog->layout()->addWidget(new QPushButton("Ok", 0));
view.scene()->addWidget(dialog);
view.show();