Cole no campo QTableView
Eu preciso implementar uma função em python que lida com o "colar" quando "ctrl + v" é pressionado. eu tenho umQTableView
, preciso copiar um campo da tabela e colá-lo em outro campo da tabela. Eu tentei o código a seguir, mas o problema é que não sei ler o item copiado (da área de transferência) no tableView. (Como ele já copia o campo e eu posso colá-lo em qualquer outro lugar, como um bloco de notas). Aqui está parte do código que eu tentei:
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)