PyQt5控件支持拖拽方法

摘要:
让控件支持拖动操作A。setDragEnable(True)将A设置为拖动B。setAcceptDrops(True)设置B接受拖动。B需要满足两个事件1。DragEnterEvent将A拖到B触发2。当A落在B的区域时,DropEvent触发。具体实现代码如下:importsys,mathfromPyQt5.QtWidgetsimport*fromPyQt5.qtGuidimport*from
让控件支持拖拽动作
A.setDragEnable(True) 设置A可以拖动
B.setAcceptDrops(True) 设置B可以接受拖动
B需要满足两个事件
1.dragEnterEvent 将A拖到B触发
2.dropEvent 在B的区域放下A时发生触发
具体实现代码如下所示:
import sys,math
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class MyComboBox(QComboBox):
def __init__(self):
super(MyComboBox,self).__init__()
self.setAcceptDrops(True) #设置可以接受拖动
def dragEnterEvent(self,e):
print(e)
if e.mimeData().hasText():
e.accept()
else:
e.ignore()
def dropEvent(self, e):
self.addItem(e.mimeData().text())
class Dragdomo(QWidget):
def __init__(self):
super(Dragdomo,self).__init__()
formlayout=QFormLayout()
formlayout.addRow(QLabel("将左边的文本拖动到右边"))
lineEdit=QLineEdit()
lineEdit.setDragEnabled(True) #设置可以被拖动

combo=MyComboBox()
formlayout.addRow(lineEdit,combo)
self.setLayout(formlayout)
self.setWindowTitle("拖动案例")

if __name__=="__main__":
app=QApplication(sys.argv)
p=Dragdomo()
p.show()
sys.exit(app.exec_())

PyQt5控件支持拖拽方法第1张

免责声明:文章转载自《PyQt5控件支持拖拽方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇c++ 获取最后一次文件编辑时间一.定时任务详解https://i.cnblogs.com/EditPosts.aspx下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PyQt5-箱布局(QHBoxLayout, QVBoxLayout)-9

1 #!/usr/bin/python3 2 # -*- coding: utf-8 -*- 3 4 ''' 即横向和纵向布局:QHBoxLayout, QVBoxLayout ''' 5 6 import sys 7 from PyQt5.QtWidgets import (QWidget, QPushButton,...

PyQt5打印机

1、打印机操作(打印默认文本里面的内容)from PyQt5 import QtGui,QtWidgets,QtPrintSupportfrom PyQt5.QtWidgets import *import sysclass Printsupport1(QMainWindow): def __init__(self): super(Pr...

PyQt5窗口操作大全

1、多窗口交互-使用信号与槽函数'''如果一个窗口和一个窗口交互,尽量不要访问窗口B的控件;应该访问与信号绑定的槽函数,从而降低窗口之间的耦合度例:如果A直接访问B窗口的控件,一旦B窗口的控件发生改变,则A和B的代码都需发生变化如果A访问B中的信号,则B靠近发生改变,则只需要改变B中的代码,而不需要改变A的代码核心思想:1、先设计好子窗口,并且在子窗口里面...

PyQt5设置图片格式及动画

1、缩放图片'''使用QImage.Scale(width,height)方法可以来设置图片'''from PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *import sysclass scaleimage(QWidget): def __ini...

Deepin/UOS/debian/Ubuntu/Linux下搭建pyqt5开发环境—基于Pycharm

前言 由于Deepin/UOS/debian/Ubuntu自带python,所以不用管Python环境 默认你已经下好了并安装了pycharm 本教程实验环境 系统版本:deepin 社区版 20.2.4 python版本:python 3.7.3 pycharm版本:PyCharm 2021.2.1 (Community Edition) 一、安装 py...

PyQt5复杂控件(树控件、选项卡控件(滚动条控件、多文档控件、停靠控件)

1、树控件的基本使用方法QTreeWidget'''QTreeWidget树控件的使用方法添加图标,添加表格,添加复选框等'''from PyQt5.QtWidgets import *from PyQt5.QtCore import Qtfrom PyQt5.QtGui import QIcon,QBrush,QColorimport sysclass...