微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PyQT QListWidget拖放不起作用

如何解决PyQT QListWidget拖放不起作用

我正在尝试在我的项目中实现一个QListWidget,它可以通过拖放来移动元素

我尝试以最简单的方式将其集成到项目中,但没有成功,而在外面,我则没有问题。

编辑:问题似乎出在realsense库中,没有它,DAD可以工作

这是它的实现:

priorityContainer.py:

class priorityContainer(QListWidget):
def __init__(self):
    super().__init__()
    self.setIconSize(QSize(124,124))
    self.setDragDropMode(QAbstractItemView.InternalMove)
    self.setDefaultDropAction(Qt.MoveAction) 
    self.setSelectionMode(QAbstractItemView.ExtendedSelection)
    self.setAcceptDrops(True)
    self.setDragEnabled(True)

    for i in range(5):
        QListWidgetItem( 'Item '+str(i),self)

main_interface.py:

# -*- coding: utf-8 -*-
from PyQt5.QtWidgets import *
import traceback,sys,os
import pyrealsense2 as rs
from ressource.interface import priorityContainer


class UI_main(QMainWindow):
    def __init__(self):
        super(UI_main,self).__init__()

        self.setupUi()
        self.show()

    def setupUi(self):
        self.centralwidget = QWidget(self)
        self.mainVcontainer = QVBoxLayout(self.centralwidget)

        self.listWidget = priorityContainer.priorityContainer()

        self.mainVcontainer.addWidget(self.listWidget)
        self.setCentralWidget(self.centralwidget)

    def root_path(self):
        return os.path.abspath(os.sep)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    ui = UI_main()
    sys.exit(app.exec_())

解决方法

我通过在导入pyrealsense2库的任何其他导入之前添加以下行来解决我的问题:

import sys
sys.coinit_flags = 2
import pythoncom

参考修正:https://github.com/IntelRealSense/librealsense/issues/6174

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。