3

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

4

1 に答える 1