我想做的是,我想用可检查的项目制作一个 listView。我能够使用 QStandardItemModel 作为我的模型来做到这一点。现在我需要做的是添加一些需要自定义数据方法的功能。因此,正如我们所做的那样,我将 QStandardItemModel 子分类为一个类并将其指定为模型,用于 listView。现在我面临的问题是,listView 只显示文本而没有检查选项。
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys
from random import randint
class rrap(QStandardItemModel):
def __init__(self ,parent = None):
QStandardItemModel.__init__(self,parent)
self.d = QStandardItem(QString("asd"))
self.d.setCheckable(True)
self.d.setFlags(Qt.ItemIsUserCheckable| Qt.ItemIsEnabled)
self.appendRow(self.d)
def data(self , index , role):
if role == Qt.ToolTipRole:
return self.d
if role == Qt.DisplayRole:
return self.d.text()
app = QApplication(sys.argv)
view = QListView()
model = rrap()
view.setModel(model)
view.show()
app.exec_()
这是我正在尝试的一段代码。我在网上搜索,找到任何显示如何自定义 QStandardItemModel 的示例,但没有得到。