zoukankan      html  css  js  c++  java
  • PyQt5控件支持拖拽方法

    让控件支持拖拽动作
    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_())

    
    
  • 相关阅读:
    在IDEA中使用maven
    使用IDEA创建JavaWeb项目 部署本地tomcat并运行
    Java
    c++
    Vue学习
    svn 小程序地址
    SVN 上传代码
    eclipse插件 --js
    https抓包
    eclipse 断点位置发生莫名其妙的位移
  • 原文地址:https://www.cnblogs.com/Yanjy-OnlyOne/p/12293842.html
Copyright © 2011-2022 走看看