【发布时间】:2014-02-11 23:25:43
【问题描述】:
在 QTableView 中,我需要找到被点击的字段的索引。我有以下方法,我想通过在单击的表的字段中按“ctrl+v”来粘贴剪贴板中的值:
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
更新:
# 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(...)看起来也有些可疑。
标签: python qt pyqt qtableview