Uneditable QListView

Jay picture Jay · Jun 3, 2011 · Viewed 11k times · Source

I have a QListView displaying a list of items but I don't want the items to be edited (Currently a double click on the item allows you to edit them).

This is my Code:

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)

Answer

Gary Hughes picture Gary Hughes · Jun 3, 2011

Adding the line:

self.listView.setEditTriggers(QAbstractItemView.NoEditTriggers)

should fix things for you.

QListView inherits QAbstractItemView which has the method setEditTriggers(). Other possible values for setEditTriggers are available in the docs.