gpt4 book ai didi

qt - QListWidget 根据内容调整大小

转载 作者:行者123 更新时间:2023-12-03 02:53:32 26 4
gpt4 key购买 nike

是否可以根据其内容调整 QListWidget 的高度和宽度?

sizeHint() 始终返回 256, 192,无论其内容是什么。
QListWidgetItemsizeHint() 返回 -1, -1,所以我无法获取内容宽度。

问题与此处相同 - http://www.qtcentre.org/threads/31787-QListWidget-width ,但没有解决办法。

enter image description here

import sys
from PyQt4.QtGui import *

class MainWindow(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)

list = QListWidget()
list.addItem('111111111111111')

vbox = QVBoxLayout(self)
vbox.addWidget(list)

app = QApplication(sys.argv)
myapp = MainWindow()
myapp.show()
sys.exit(app.exec_())

最佳答案

sizeHint() always returns 256, 192 no matter what its content is.

那是因为这是 QListWidget、视口(viewport)的大小,而不是项目的大小。 sizeHintForColumn()将为您提供所有项目的最大尺寸,因此您可以像这样调整小部件的大小:

list.setMinimumWidth(list.sizeHintForColumn(0))

如果您不想强制使用最小宽度,则可以对其进行子类化并提供它作为尺寸提示。例如:

class ListWidget(QListWidget):
def sizeHint(self):
s = QSize()
s.setHeight(super(ListWidget,self).sizeHint().height())
s.setWidth(self.sizeHintForColumn(0))
return s

关于qt - QListWidget 根据内容调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6337589/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com