我在使用自定义小部件显示项目以显示在列表小部件中时遇到问题。这些项目在下面的示例中显示为空白...
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()
答案 0 :(得分:0)
看起来QlistWidget不会做你想要的,所以你需要从较低的层面接近它。
PySide.QtGui.QListWidget.setItemWidget(item, widget)
此功能仅用于在列表小部件项目的位置显示静态内容。如果要显示自定义动态内容或实现自定义编辑器窗口小部件,请改用PySide.QtGui.QListView和子类PySide.QtGui.QItemDelegate。