【发布时间】:2018-10-12 01:03:56
【问题描述】:
这听起来像是以前在这里问过的问题,但我似乎找不到我要找的东西。
所以,我有一个包含 QGraphicsView 的垂直布局。我正在尝试实现用户在给定他们想要的任何大小的情况下调整视图大小的能力。就像在 MSPaint 中一样,您可以为画布选择准确的尺寸。
当我运行程序时,它第一次完美运行,在垂直布局上,我得到了我指定的确切大小的 QGraphicsView,但是,当在运行时调用函数 resizeCanvas 时,我没有得到效果一样。
相反,如果指定的值大于现有值(例如将 800x600 QGraphicsScene 更改为 400x300),QGraphicsView 将看起来像相同大小,
或者如果相反(400x300 QGraphicsScene 被更改为 800x600),我将获得滚动条而不是更大的 QGraphicsView 小部件。
canvasScene = new QGraphicsScene(this);
resizeCanvas(canvasWidth, canvasHeight);
void MainWindow::resizeCanvas(int x, int y) {
canvasWidth = x;
canvasHeight = y;
canvasScene->setSceneRect(100, 100, canvasWidth, canvasHeight);
updateCanvas();
}
void MainWindow::updateCanvas() {
ui->canvas->setScene(canvasScene);
}
如何让它调整实际小部件的大小?
【问题讨论】:
标签: c++ qt qgraphicsview qgraphicsscene