Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt QListWidget中包含文本的行(使用setItemWidget)停止换行,并变得比列表所能容纳的更宽_Qt_Pyqt_Qt5_Pyqt5_Qlistwidget - Fatal编程技术网

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)