首页
学习
活动
专区
圈层
工具
发布

python pyqt5 拖拽

例子 常用

-- coding: utf-8 --

''' 【简介】 PyQt5中 Drag and Drop 例子

'''

import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *

class Combo(QComboBox):

代码语言:javascript
复制
def __init__(self, title, parent):
    super(Combo, self).__init__(parent)
    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 Example(QWidget): def init(self): super(Example, self).init() self.initUI()

代码语言:javascript
复制
def initUI(self):
    lo = QFormLayout()
    lo.addRow(QLabel("请把左边的文本拖拽到右边的下拉菜单中"))
    edit = QLineEdit()
    edit.setDragEnabled(True)
    com = Combo("Button", self)
    lo.addRow(edit, com)
    self.setLayout(lo)
    self.setWindowTitle('简单拖拽例子')

if name == 'main': app = QApplication(sys.argv) ex = Example() ex.show() sys.exit(app.exec_())

举报
领券