Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt:将QGraphicsView调整为窗口大小_C++_Qt - Fatal编程技术网

C++ Qt:将QGraphicsView调整为窗口大小

C++ Qt:将QGraphicsView调整为窗口大小,c++,qt,C++,Qt,我试图将QGraphicsView调整到我的窗口大小,但我的解决方案就是不起作用 白色矩形是我的QGraphicsView。我需要拉伸它以覆盖整个黑色空间,并在我的应用程序窗口调整大小时自动调整大小。在Qt中可能吗 以下是用于创建QGraphicsView的代码: TrackWindow::TrackWindow() { tracksTimelineView = new QGraphicsView(this); tracksTimelineView->show()

我试图将QGraphicsView调整到我的窗口大小,但我的解决方案就是不起作用

白色矩形是我的QGraphicsView。我需要拉伸它以覆盖整个黑色空间,并在我的应用程序窗口调整大小时自动调整大小。在Qt中可能吗

以下是用于创建QGraphicsView的代码:

    TrackWindow::TrackWindow()
{
    tracksTimelineView = new QGraphicsView(this);
    tracksTimelineView->show();
}

正如Michael O.已经指出的,您需要在窗口中添加布局,例如

TrackWindow::TrackWindow
{
    tracksTimelineView = new QGraphicsView(this);

    QGridLayout* layout = new QGridLayout;

    layout->addWidget(tracksTimelineView);

    this->setLayout(layout);

    tracksTimelineView->show();
}
希望这有帮助

编辑

如果TrackWindow继承自QMainWindow,请尝试此操作

TrackWindow::TrackWindow
{
    tracksTimelineView = new QGraphicsView(this);

    tracksTimelineView->show();

    setCentralWidget(tracksTimelineView);
}

将布局添加到您的窗口刚才尝试了您的解决方案,但我得到了以下结果:QWidget::setLayout:“正在尝试在TrackWindow“”上设置QLayout”“,它已经有了布局”。QGraphicsView仍然不是stretched@Lizard_Paszczyk然后不要创建布局,而是这样做:
this->layout()->addWidget(tracksTimelineView)TrackWindow是否继承QMainWindow?如果是这样,您可以尝试调用
setCentralWidget(tracksTimelineView)而不是创建布局。@craftyscondrel这就是我要找的。很有效,谢谢you@Lizard_Paszczyk很高兴我能帮忙,在我的答案中添加了这个解决方案。