问题描述
请帮我弄清楚。我只是无法解决这个问题。显示一个示例,以便当我将一条线从一个listwidget移到另一个listwidget时,我得到了该线(该行的文本)。
import sys
from PyQt5.QtWidgets import QApplication,QWidget,QListWidget
class App(QWidget):
def __init__(self):
super().__init__()
self.title = 'PyQt5 drag and drop'
self.left = 500
self.top = 400
self.width =500
self.height = 650
self.initUI()
def initUI(self):
self.setwindowTitle(self.title)
self.setGeometry(self.left,self.top,self.width,self.height)
listwidget = CustomList(self)
listwidget.move(130,15)
listwidget.addItem("str")
listwidget2 = CustomList(self)
listwidget2.move(330,315)
self.show()
class CustomList(QListWidget):
def __init__(self,parent):
super().__init__(parent)
self.setAcceptDrops(True)
self.setDragEnabled(True)
def mimeTypes(self):
mimetypes = super().mimeTypes()
mimetypes.append('text/plain')
return mimetypes
def dropMimeData(self,index,data,action):
if self.SelectItems:
print(self.SelectItems)
if data.hasText():
print(data.text())
self.addItem(data.text())
return True
else:
return super().dropMimeData(index,action)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
我的代码不起作用
我找到了带有editBox和button的示例。但是看起来listwidget的实现方式有所不同
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)