我在获取带有自定义小部件的项目以显示在列表小部件中时遇到问题。在下面的示例中,项目显示为空。。。你知道吗
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()
看起来QlistWidget不会做你想做的事情,所以你需要从一个较低的层次来处理它。你知道吗
PySide.QtGui.QListWidget.setItemWidget(item, widget)
此函数只能用于在列表小部件项的位置显示静态内容。如果要显示自定义动态内容或实现自定义编辑器小部件,请使用PySide.QtGui.QListView和子类PySide.QtGui.QItemDelegate代理相反。你知道吗
相关问题 更多 >
编程相关推荐