Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
956 views
in Technique[技术] by (71.8m points)

python - PyQt5 QTableWidget: make last column editable

How do you access the last column of a QTableWidget? I want to set it to editable using something like this:

item = QtWidgets.QTableWidgetItem(stuff)
item.setFlags(QtCore.Qt.ItemIsEnabled) #make everything editable
self.qtable_widget.setItem(row, column, item)
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

To modify the editing ability of item groups then it is better to use a delegate as show in this solution, this question is slightly different so I have modified my solution:

class ReadOnlyDelegate(QtWidgets.QStyledItemDelegate):
    def createEditor(self, parent, option, index):
        # last column
        if index.column() == (index.model().columnCount() - 1):
            return super().createEditor(parent, option, index)
delegate = ReadOnlyDelegate(self.qtable_widget)
self.qtable_widget.setItemDelegate(delegate)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...