18

アイテムのリストを表示する QListView がありますが、アイテムを編集したくありません (現在、アイテムをダブルクリックすると編集できます)。

これは私のコードです:

self.listView = QListView()
self.model = QStringListModel([ "item1" , "item2" , "item3" ])
self.listView.setModel( self.model )

self.layout = QGridLayout()  
self.layout.addWidget(self.listView, 0 , 0 )
self.setLayout(self.layout)
4

4 に答える 4

43

次の行を追加します。

self.listView.setEditTriggers(QAbstractItemView.NoEditTriggers)

あなたのために物事を修正する必要があります。

QListViewQAbstractItemViewメソッドを持つ継承setEditTriggers()。の他の可能な値setEditTriggers、ドキュメントで入手できます。

于 2011-06-03T14:46:55.783 に答える
1

回答ありがとうございます。QListWidgetデフォルトでは編集できないため、代わりにaを使用することになりました。

QListViewマウスのダブルクリックイベントを指定して、編集以外のことを行うように設定した場合もわかりましQListViewたが、編集機能をオーバーライドするので、それも機能します。

于 2011-06-05T17:29:17.710 に答える
0

QStringListModel定義上、編集可能です。サブクラス化し、適切なフラグを提供する必要があります

于 2011-06-04T09:08:04.100 に答える