Qt数据可视化:如何将Q3DScatter图集成到主窗口中的Widget?

时间:2017-04-20 19:39:19

标签: c++ qt

我正在尝试在使用Qt Designer设计的主窗口中显示Q3DScatter图,因此我在主窗口中添加了一个小部件,但我不知道如何在此小部件中嵌入图形对象。我尝试以编程方式创建一个小部件“容器”并将图形嵌入其中,然后使用以下代码在我的主窗口的构造函数中将小部件放入QHBoxLayout(已使用Qt Designer添加到主窗口中):

...
Q3DScatter *graph = new Q3DScatter();
QWidget *container = QWidget::createWindowContainer(graph);
ui->horizontal_layout->addWidget(container, 1);

但执行时窗口似乎是空的。我真的很感激一些帮助。

编辑:这是我的主窗口构造函数的完整代码:

ResultsWindow::ResultsWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::ResultsWindow)
{
    ui->setupUi(this);

    Q3DScatter *graph = new Q3DScatter();

    QWidget *container = QWidget::createWindowContainer(graph);

    ui->horizontal_layout->addWidget(container, 1);
}

这是主要代码:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    ResultsWindow w;
    w.show();
    return a.exec();
}

编辑2:我忘了指定水平布局嵌入在GridLayout中。我尝试创建一个新项目,当我直接向主窗口添加水平布局时,我的代码实际上工作得很好。那问题可能是由于GridLayout?

0 个答案:

没有答案