В QTableView мне нужно найти индекс поля, в котором он нажат. У меня есть следующий метод, где я хочу, чтобы вставить значение из буфера обмена, нажав «Ctrl + V» в поле таблицы, щелкнули:Найти индекс щелкнутого поля в QTableView
QShortcut(QKeySequence('Ctrl+v'),self).activated.connect(self._handlePaste)
# paste the value
def _handlePaste(self):
clipboard_text = QApplication.instance().clipboard().text()
#item = QTableWidgetItem()
#item.setText(clipboard_text)
NvmQtModel.setData(self, index, clipboard_text, Qt.DisplayRole)
print clipboard_tex
Update:
# paste the value
def _handlePaste(self):
clipboard_text = QApplication.instance().clipboard().text()
index = QItemSelectionModel.selectedIndexes()
NvmQtModel.setData(self, index, clipboard_text, Qt.DisplayRole)
Исключение:
index = QItemSelectionModel.selectedIndexes()
TypeError: QItemSelectionModel.selectedIndexes(): first argument of unbound method must have type 'QItemSelectionModel'
Вам нужно будет вызвать 'selectedIndexes' в фактическом экземпляре модели. Вы пытаетесь назвать это статически. 'tableView.selectionModel(). selectedIndexes()' будет правильным способом, где вам, очевидно, придется заменить 'tableView' любой переменной, фактически имеющей ваш QTableView. 'NvmQtModel.setData (...)' выглядит несколько подозрительно. – sebastian