【问题标题】:qgraphicsview preferred sizeqgraphicsview 首选尺寸
【发布时间】:2013-11-28 17:08:23
【问题描述】:

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

this->layout()->addWidget(&qtview);

我到处都有布局,所以我的主要寡妇的大小会根据其内容进行调整。

如果我使用:

qtview.setMinimumWidth(500);
qtviewSetMinimumHeight(500);

然后我的视图被缩放到给定的大小,但我无法缩小主窗口。 (这是有道理的,因为我设置了一个最小的 soze)

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

我正在寻找一种看起来像假设方法 setPreferredWidth() 的东西。

我该怎么做才能得到这种行为?

【问题讨论】:

    标签: qt size qgraphicsview qgraphicsscene


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回答,但不是。我已经阅读过,但我不知道如何设置首选大小。答案可能是这些策略和其他设置大小的组合。这就是我正在寻找的其他东西。如果我使用setMinimumWidth()setMinumumWeight() 设置大小,然后应用您建议的策略,则窗口不会缩小它,即大小是最小的,不是首选。那么如何判断要首选的宽度和高度呢?
    • 我也尝试过重载 sizeHint() ,但没有结果。只是设置最小/最大接缝有效果,但不是我想要的效果...
    • 只设置首选尺寸的尺寸策略,但不要设置最小/最大尺寸。如果这不起作用,那么布局中另一个小部件的尺寸策略可能会影响整体尺寸。
    • 抱歉,我不明白:您所说的“只需使用首选尺寸设置尺寸政策”是什么意思?你指的是什么功能? setSizePolicy(QSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred)); 表示首选某个尺寸,但我的问题仍然存在:我如何判断首选尺寸(宽度、高度)?很抱歉不明白您的意思,感谢您的回答!
    • setMinimumWidth 和 setMinimumHeight 就是这样做的;阻止视图变小,所以你不想设置它。最大值也是如此。如果您将视图的大小设置为您想要的大小并将 sizepolicy 设置为首选,则视图将倾向于首选大小(它开始时的大小),但随后可以在其布局内适当地扩大或缩小。
    猜你喜欢
    • 1970-01-01
    • 2014-11-17
    • 1970-01-01
    • 2020-10-26
    • 2014-08-27
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多