Pegar en el campo de QTableView
Necesito implementar una función en python que maneje el "pegar" cuando se presiona "ctrl + v". tengo unQTableView
, necesito copiar un campo de la tabla y pegarlo en otro campo de la tabla. He intentado el siguiente código, pero el problema es que no sé cómo leer el elemento copiado (del portapapeles) en la tabla Vista. (Como ya copia el campo y puedo pegarlo en cualquier otro lugar como un bloc de notas). Aquí hay parte del código que he probado:
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)