问题描述
我在获取带有自定义小部件的项目以显示在列表小部件中时遇到问题。 在以下示例中,这些项目显示为空白...
from PySide2 import QtWidgets
class ItemWidget(QtWidgets.QWidget):
def __init__(self,parent = None):
super(ItemWidget, self).__init__(parent)
layout = QtWidgets.QHBoxLayout()
self.setLayout(layout)
self.checkBox = QtWidgets.QCheckBox()
self.label = QtWidgets.QLabel('test')
layout.addWidget(self.checkBox)
layout.addWidget(self.label)
class ListWidget(QtWidgets.QListWidget):
def __init__(self,parent = None):
super(ListWidget,self).__init__(parent)
self.initUI()
def initUI(self):
for i in range(10):
item = QtWidgets.QListWidgetItem()
self.addItem(item)
widget = ItemWidget(self)
self.setItemWidget(item,widget)
self.show()
lister = ListWidget()
1楼
看起来QlistWidget不会执行您想要的操作,因此您需要从较低级别进行处理。
此功能只能用于在列表小部件项目的位置显示静态内容 。 如果要显示自定义动态内容或实现自定义编辑器小部件,请改用PySide.QtGui.QListView和子类PySide.QtGui.QItemDelegate。