我有一个布局,在其中添加了很多小部件(目前是QPushButton,但可以是任何QWidget元素),默认情况下它们在添加时会填充整个宽度。由于我的自定义大小处理是根据这些宽度移动元素的,它们会将每个元素注册为与布局相同的大小,即使在我调整大小后它们变得更小,我的函数仍然会将它们移动。
因此,当我添加一个小部件时,有没有办法将其缩小到最小尺寸以容纳内容?大致如下:
item = QPushButton("somestuff") # | QLabel | QWidget | etc
item.setFixedWidth(item.contents.size().width())
print(QFontMetrics(item.font()).width()) TypeError: width(self, str, length: int = -1): not enough arguments
。 - Drewitem.setFixedWidth(fm.width(" " + item.text()+" "))
或者item.setFixedWidth(fm.width(item.text())+2)
。 - eyllanesc