Qt QListWidget中包含文本的行(使用setItemWidget)停止换行,并变得比列表所能容纳的更宽
我有一个Qt QListWidget中包含文本的行(使用setItemWidget)停止换行,并变得比列表所能容纳的更宽,qt,pyqt,qt5,pyqt5,qlistwidget,Qt,Pyqt,Qt5,Pyqt5,Qlistwidget,我有一个QListWidget,正在使用setItemWidget()显示qlabel,它们用setWordWrap()包装 我遇到的问题是,当我有一个文本,对于表中的一行,该文本的宽度超过480 px时,行的宽度会变得超出QListWidget的范围 当调整列表的大小时,我会得到这样的行为:如果我调整了大小,并且行宽超过480 px,由于换行,单词将如预期的那样“在行之间移动”。但如果我的宽度低于480像素,就没有什么区别:包装完成了,但行的字长没有改变 例子 约480像素宽行 大于480
QListWidget
,正在使用setItemWidget()
显示qlabel
,它们用setWordWrap()
包装
我遇到的问题是,当我有一个文本,对于表中的一行,该文本的宽度超过480 px时,行的宽度会变得超出QListWidget的范围
当调整列表的大小时,我会得到这样的行为:如果我调整了大小,并且行宽超过480 px,由于换行,单词将如预期的那样“在行之间移动”。但如果我的宽度低于480像素,就没有什么区别:包装完成了,但行的字长没有改变
例子
约480像素宽行
大于480
小于480
其他细节
当我处理QLabels
中字符较少的行时,问题仍然存在,但直到行比以前窄(小于480)。问题开始出现的像素数是动态的,取决于文本中的字符数。480似乎是一个上限,换句话说,无论文本的长度如何,如果行的宽度为480或更宽,都不会出现问题
文本较短的示例:
代码
我尝试过为row_widget
和label
试用setSizePolicy
,但似乎没有任何效果
我能做些什么来解决这个问题?谢谢你的帮助
谨此致以诚挚的问候,
Tord您真的需要使用
QListWidget
?为什么不使用qscrolrea
?您真的需要使用QListWidget
?为什么不使用QScrollArea
?
list_item = QListWidgetItem()
row_layout = QHBoxLayout()
label = QLabel(label_text_sg)
label.setWordWrap(True)
row_layout.addWidget(row_label_w8)
row_widget = QWidget()
row_widget.setLayout(row_layout_l7)
row_widget.adjustSize()
list_item.setSizeHint(row_w6.sizeHint())
self.list_widget.addItem(list_item)
self.list_widget.setItemWidget(list_item, row_widget)