PyQt QTableView拖动以重新排序行

时间:2015-09-07 18:44:31

标签: python qt pyqt

您好我正在尝试使用QtTableView设置播放列表小部件。以下代码几乎让我在那里。但我必须点击标题本身。我希望能够点击行中的任何单元格并能够拖动它。 setDropIndicatorShown也不起作用。 model

class TestApp(QtGui.QDialog):
    def __init__(self, model, parent = None):
        super(TestApp, self).__init__(parent)
        self.model = model

        table = QtGui.QTableView()
        table.setModel(self.model)
        table.setSortingEnabled(True)
        table.setDropIndicatorShown(True)
        table.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
        table.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
        table.horizontalHeader().setMovable(True)       
        table.horizontalHeader().setDragEnabled(True)
        table.horizontalHeader().setDragDropMode(QtGui.QAbstractItemView.InternalMove)
        table.verticalHeader().setMovable(True)
        table.verticalHeader().setDragEnabled(True)
        table.verticalHeader().setDragDropMode(QtGui.QAbstractItemView.InternalMove)

class myModel(QtSql.QSqlTableModel):
    def __init__(self, parent = None):
        super(myModel, self).__init__(parent)
        self.setEditStrategy(QtSql.QSqlTableModel.OnFieldChange)

        self.setTable("my_table")
        self.select()

0 个答案:

没有答案