Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
945 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 Reply

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)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...