我想有一个固定大小的QGraphicsView
,我想添加到布局与其他一些小部件一起。但是,QGraphicsView
会简单地忽略resize()
,下面是相关代码:
QGraphicsScene* scene = new QGraphicsScene;
QGraphicsView* view = new QGraphicsView(scene);
view->setBackgroundBrush(QBrush(Qt::black, Qt::SolidPattern));
view->resize(1000, 600);
QVBoxLayout* layout = new QVBoxLayout;
layout->setMargin(0);
layout->addWidget(view);
setLayout(layout);
如果我使用setFixedSize()
而不是resize()
,大小实际上是正确设置的。但是,似乎窗口大小没有更新,窗口居中不正确。
如何为QGraphicsView
设置固定大小
发布于 2020-07-14 07:45:04
我知道这是一个非常古老的问题,但以防其他人遇到这个问题:您可以将minimumSize
和maximumSize
都设置为所需的目标大小,并且无论QGraphicsView
采用什么布局,它都应该可以工作。
发布于 2013-08-09 18:30:14
如果我没理解错的话,你想让QGraphicsView居中在窗口中,并具有固定的大小。你需要的不是VBoxLayout你应该使用带有间隔符的QGridLayout,所以你的表单应该是这样的:
<Empty> <VSpacer> <Empty>
<HSpacer> <GraphicsView> <HSpacer>
<Empty> <VSpacer> <Empty>
https://stackoverflow.com/questions/18152867
复制相似问题