📜  PyQt5 QListWidget – 设置移动属性(1)

📅  最后修改于: 2023-12-03 15:33:53.485000             🧑  作者: Mango

PyQt5 QListWidget - 设置移动属性

PyQt5 QListWidget是一个使用非常广泛的组件,可以轻松地显示列表或表格视图。在此文中,我们将介绍如何使用PyQt5 QListWidget组件的移动属性来对列表项进行移动。

设置移动属性

PyQt5 QListWidget包含一组QListWidgetItem,这些项可以通过drag-and-drop来移动。QListWidget的setItemMoveEnabled()方法可用于启用或禁用此功能。

ListWidget.setItemMoveEnabled(True)

也可以通过设置setDragDropMode()的值来设置拖放模式,从而启用或禁用项的移动。

ListWidget.setDragDropMode(QAbstractItemView.InternalMove)

在此处,我们设置了QAbstractItemView.InternalMove,表示启用拖放操作,并允许拖动项以移动它们。

示例代码

以下示例代码演示了如何设置和应用PyQt5 QListWidget的移动属性:

from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *

class Window(QWidget):
    def __init__(self):
        QWidget.__init__(self)

        self.setWindowTitle("PyQt QListWidget - 设置移动属性")
        self.setGeometry(300, 200, 350, 250)

        # 创建QListWidget组件
        self.listWidget = QListWidget(self)
        self.listWidget.setGeometry(10,10,240,230)

        # 添加10个列表项
        for i in range(10):
            item = QListWidgetItem("ListItem {}".format(i), self.listWidget)
            self.listWidget.addItem(item)

        # 启用项的移动属性
        self.listWidget.setDragDropMode(QAbstractItemView.InternalMove)

if __name__ == "__main__":
    import sys

    app = QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())

在上述示例中,我们创建了一个QListWidget并添加了10个列表项。我们还启用了项的移动属性,以便我们可以通过drag-and-drop来移动它们。