python - 拖放时从 QListWidget 中删除项目
问题描述
我有两个 QListWidgets 并排的项目。我想设置事件启用
当它被拖到 list2 时从 list1 中删除项目
反之亦然
这是代码:
from PyQt5.QtWidgets import QApplication, QWidget, QListWidget, QHBoxLayout,QListWidgetItem
from PyQt5.QtGui import QIcon
import sys
import glob
import os
class Window(QWidget):
def __init__(self):
super().__init__()
self.myListWidget1 = QListWidget()
self.myListWidget2 = QListWidget()
self.myListWidget1.setAcceptDrops(True)
self.myListWidget1.setDragEnabled(True)
self.myListWidget2.setAcceptDrops(True)
self.myListWidget2.setDragEnabled(True)
self.setGeometry(300, 350, 500, 300)
self.myLayout = QHBoxLayout()
self.myLayout.addWidget(self.myListWidget1)
self.myLayout.addWidget(self.myListWidget2)
os.chdir("./Downloads")
for file in glob.glob("*.pdf"):
QListWidgetItem(file, self.myListWidget1)
self.setWindowTitle('Drag and Drop');
self.setLayout(self.myLayout)
self.show()
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec())
解决方案
它必须设置defaultDropAction
为QListWidget
in Qt::MoveAction
:
self.myListWidget1.setDefaultDropAction(Qt.MoveAction)
self.myListWidget2.setDefaultDropAction(Qt.MoveAction)
推荐阅读
- r - R函数参考参数而不评估它
- excel - Excel VBA 用于选择列中的所有内容,包括空白
- c# - WPF 将枚举绑定到可见性
- c# - Chart.JS 标签字符串不能接受 ViewBag 数据
- javascript - 我需要将变量的先前值存储在另一个变量中
- django - 在 Django 2.0 中创建数据库记录而不知道它是否已经存在的最有效方法是什么?
- android - Circular Reveal Android Compat with Design Library 28
- sql-server - 我有以下语法错误“'* ='附近的语法不正确。”
- google-cloud-ml - 如何获得将图像作为输入以在 Cloud ML Engine 上提供预测的 TensorFlow/Keras 模型?
- email - 处理电子邮件时切换电子邮件帐户