pyqt5 覆盖 dropEvent python

我正在尝试向一个小应用程序添加拖放功能。从 QlistWidget 获取数据并在 QTableWidget 上删除数据。我应该覆盖 QTableWidget 的 dropEvent 以便在删除数据时添加一些其他功能。但是我遇到了麻烦,我想我无法从 ListWidget 获取对象的 text() 。这是代码:


class Table(QtWidgets.QTableWidget):

    def __init__(self,r,c, parent=None):

        super().__init__(r,c,parent)    

        self.init_ui()


    def init_ui(self):            

        self.setAcceptDrops(True)

        self.setDragDropMode(QtWidgets.QAbstractItemView.DragDrop)


    """def dragMoveEvent(self, e):            

        e.setDropAction(QtCore.Qt.MoveAction)

        e.accept()


    def dragEnterEvent(self,e):            

        e.accept()"""      




    def dropEvent(self,e):            

        data = e.mimeData()

        a=e.pos()

        row = self.rowAt(a.y())

        col = self.columnAt(a.x())

        self.setItem(row,col,QtWidgets.QTableWidgetItem(data.text()))


        print(row,col)

        print(type(data.text()))

        print(e.source())

        x = data.text()

        print(x)

        e.accept()

`


汪汪一只猫
浏览 278回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python