0
我需要在python中實現一個函數,它在按下「ctrl + v」時處理「粘貼」。我有一個QTableView
,我需要複製表的一個字段並將其粘貼到表的另一個字段。我已經嘗試了下面的代碼,但問題是我不知道如何在tableView中讀取複製的項目(來自剪貼板)。 (因爲它已經複製了字段,我可以將它粘貼到其他任何地方,比如記事本)。這是我所試過的部分代碼:粘貼在QTableView的字段
class Widget(QWidget):
def __init__(self,md,parent=None):
QWidget.__init__(self,parent)
# initially construct the visible table
self.tv=QTableView()
self.tv.show()
# set the shortcut ctrl+v for paste
QShortcut(QKeySequence('Ctrl+v'),self).activated.connect(self._handlePaste)
self.layout = QVBoxLayout(self)
self.layout.addWidget(self.tv)
# paste the value
def _handlePaste(self):
if self.tv.copiedItem.isEmpty():
return
stream = QDataStream(self.tv.copiedItem, QIODevice.ReadOnly)
self.tv.readItemFromStream(stream, self.pasteOffset)
AttributeError:'QTableView'對象沒有屬性'setItem' –
你讀過最後的筆記嗎?我用'QTableWidget'而不是'QTableView'也檢查代碼;) –
爲什麼這不是公認的答案? – pbreach