我正在尝试将QGraphicsView调整为窗口大小,但是我的解决方案无法正常工作。

c++ - Qt:调整QGraphicsView到窗口大小-LMLPHP

白色矩形是我的QGraphicsView。我需要拉伸(stretch)它以覆盖整个黑色空间,并在调整应用程序窗口大小时自动调整其大小。 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);
}

10-06 01:56