我想在我的一个表单上插入Q3DScatter
个实例。我能够构建图形并显示它:
Q3DScatter *graph = new Q3DScatter();
QWidget *container = QWidget::createWindowContainer(graph);
...do some graph stuff...
container.show()
这成功创建了图形并将其显示在自己的窗口/容器中。我现在想把它放在qt-creator
中设计的另一个表单中。我在表单(QDialog)上放置了一个空widget
作为占位符,但无法将Q3DScatter
移动到窗口小部件中。
我在文档中看到Q3DScatter::Q3DScatter(const QSurfaceFormat *format = Q_NULLPTR, QWindow *parent = Q_NULLPTR)
但我没有QWindow父级将其附加到,因为我想将其添加到的形式是QDialog ......
我对widgets
一般都很新,所以如果这是错误的方法,请纠正我。
答案 0 :(得分:1)
将容器添加为对话框的子容器。如果需要在调整对话框大小时调整大小,请放入布局。例如:
MyDialog::MyDialog(Q3DScatter *scatter, QWidget *parent) : QDialog(parent)
{
QHBoxLayout * const l = new QHBoxLayout(this);
l->setMargin(0);
l->addWidget(QWidget::createWindowContainer(scatter, this);
}