私がやろうとしているのは、チェック可能なアイテムで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 をカスタマイズする方法を示す例を見つけましたが、取得できませんでした。