【问题标题】:What is limitting the minimum size of a QGraphicsView widget when in a layout?在布局中限制 QGraphicsView 小部件的最小尺寸是什么?
【发布时间】:2021-12-15 16:22:36
【问题描述】:

如果我自己有一个 QGraphicsView 小部件,我可以将其调整为没有,但是一旦我将其放入布局中,它就不想调整为小于 70x70 的大小。

这似乎不是通用 QWidget 的问题。

from PyQt5.QtWidgets import *

app = QApplication([])
w = QWidget()

gv1 = QGraphicsView()
gv1.setMinimumSize(0,0)
gv2 = QGraphicsView()
gv2.setMinimumSize(0,0)

l = QGridLayout()
l.addWidget(gv1)
l.addWidget(gv2)

l.setContentsMargins(0,0,0,0)
l.setSpacing(0)
w.setLayout(l)
w.show()
w.resize(100, 1)

app.exec_()

【问题讨论】:

    标签: qt pyqt5 qgraphicsview


    【解决方案1】:

    正如minimumSize() 文档所说:

    此函数设置的最小尺寸将覆盖 QLayout 定义的最小尺寸。 为了取消设置最小尺寸,使用值 QSize(0, 0)。

    这意味着如果您使用setMinimumSize(0, 0),您将重置最小尺寸,然后将默认为小部件的(或布局)minimumSizeHint()

    有效的最小尺寸方向应始终至少为 1。
    改为:

    gv1.setMinimumSize(1, 1)
    gv2.setMinimumSize(1, 1)
    

    【讨论】:

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