【问题标题】:How to make the QGraphicsView size consistent with the size of the image and the main window in Qt?Qt中如何让QGraphicsView的大小与图片大小和主窗口一致?
【发布时间】:2022-11-16 19:25:03
【问题描述】:

我正在用 Qt 开发一个图形编辑器。我正在使用 QGraphicsView 来显示图片,需要调整它的大小,使其与图像和主窗口的大小一致。

现在我像这样调整它的大小(在 MainWindow 类的方法中):

    ui->graphicsView->resize(picture->width, picture->height); // ui here is Ui::MainWindow* pointer

我在打开图像时调用此方法。小图片看起来很正常,但是当我打开大图片时,它的大小变得超过了窗口的大小,我无法滚动它。我可以将 graphicsView 的大小设置为图片和主窗口大小的最大值,但这并不能解决问题,因为当我缩小主窗口时,图片会保持其大小并且会大于窗户。所以,我想我需要在调整主窗口大小时调整图像大小。 我知道Qt中有信号槽系统,但是我找不到合适的QMainWindow槽。所以,我的问题是:如何捕捉主窗口大小的变化来调整 graphicsView 的大小?

【问题讨论】:

    标签: c++ qt qt5


    【解决方案1】:

    只需覆盖 QMainWindow 中的 resizeEvent()

    void MyMainWindow::resizeEvent(QResizeEvent* event)
    {
       QMainWindow::resizeEvent(event);
       // resize the graphicsView
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多