Qt qgraphicsview首选尺寸

Qt qgraphicsview首选尺寸,qt,size,qgraphicsview,qgraphicsscene,Qt,Size,Qgraphicsview,Qgraphicsscene,我现在正在尝试将qgraphicsview调整为首选大小: 我正在使用布局: this->layout()->addWidget(&qtview); 我到处都有布局,所以我的主窗口的大小会根据其内容进行调整 如果我使用: qtview.setMinimumWidth(500); qtviewSetMinimumHeight(500); 然后,我的视图将缩放到给定的大小,但我无法收缩主窗口。(这在我设置最小soze时是有意义的) 我想告诉qt我对视图的首选(不是最小或最大)

我现在正在尝试将qgraphicsview调整为首选大小: 我正在使用布局:

this->layout()->addWidget(&qtview);
我到处都有布局,所以我的主窗口的大小会根据其内容进行调整

如果我使用:

qtview.setMinimumWidth(500);
qtviewSetMinimumHeight(500);
然后,我的视图将缩放到给定的大小,但我无法收缩主窗口。(这在我设置最小soze时是有意义的)

我想告诉qt我对视图的首选(不是最小或最大)大小,让视图在需要时使用滚动条(即,如果首选大小不适合我的屏幕),或者如果场景小于我的视图,让qt的视图小于我的首选大小(或者在这种情况下放大场景以适合视图)

我正在搜索类似于假设方法的内容
setPreferredWidth()


要获得此行为,我可以做些什么?

听起来您正在寻找QGraphicsView函数setSizePolicy:-

setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred));

谢谢你的回答,但不是。我读过,但我不知道如何设置首选尺寸。答案可能是将这些政策和其他设置规模的措施相结合。这就是我要找的其他东西。如果我使用
setMinimumWidth()
setminumweight()
设置大小,然后应用您建议的策略,则窗口不会缩小,即大小是最小的,而不是首选的。那么,我该如何判断首选的宽度和高度呢?我也尝试过重载sizeHint(),但没有结果。只需设置最小/最大接缝即可产生效果,但不是我想要的效果…只需使用首选大小设置大小策略,但不设置最小/最大大小。如果这不起作用,那么布局中另一个小部件的大小策略很可能会影响总体尺寸。对不起,我不明白:您所说的“仅使用首选大小设置大小策略”是什么意思?你的意思是什么功能<代码>设置策略(QSizePolicy(QSizePolicy::首选,QSizePolicy::首选))告诉我们某些维度是首选的,但我的问题仍然是:如何告诉首选的维度(宽度、高度)?。对不起,我不明白你的意思,谢谢你的回答!setMinimumWidth和setMinimumHeight就是这样做的;停止视图变小,这样您就不想设置它了。与最大值类似。如果将视图的大小设置为所需大小,并将sizepolicy设置为preferred,则视图将趋向于首选大小(开始时的大小),但随后可以在其布局中适当地增大或缩小。