Einfügen in das Feld von QTableView
Ich muss eine Funktion in Python implementieren, die das "Einfügen" behandelt, wenn "Strg + V" gedrückt wird. Ich habe einQTableView
, muss ich ein Feld der Tabelle kopieren und es in ein anderes Feld der Tabelle einfügen. Ich habe den folgenden Code ausprobiert, aber das Problem ist, dass ich nicht weiß, wie ich das kopierte Element (aus der Zwischenablage) in der tableView lesen soll. (Da es das Feld bereits kopiert und ich es wie ein Notizblock an einer anderen Stelle einfügen kann). Hier ist ein Teil des Codes, den ich ausprobiert habe:
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)