我在一个单元格中插入了数据,显示为 QTableView
如果单元格正在被点击,它就会向一个函数发出信号,将数据插入到该单元格中。
self.tableview.clicked.connect(self.insertdata_onclick)
def insertdata_onclick(self, data):
x = self.tableview.selectionModel().currentIndex().row()
y = self.tableview.selectionModel().currentIndex().column()
self.datamodel.input_data[x][y] = data
self.datamodel.layoutChanged.emit()
# cell selected
# get position of that cell
# change data of that cell
如果当前单元格被选中,我如何复制这种行为?
点击信号与索引一起发出,但不是数据。
void QAbstractItemView::clicked(const QModelIndex &index)
所以,与其说
def insertdata_onclick(self, data):
你应该把它做成这样。
def insertdata_onclick(self, index):
data_i_want_to_insert = self.get_my_data_somewhere(index.row(), index.column())
self.datamodel.input_data[index.row()][index.column()] = data_i_want_to_insert
self.datamodel.layoutChanged.emit()
如果你点击单元格,它就会被选中,除非在 "无选择 "模式下。你不需要测试 "如果该单元格当前被选中"。