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):

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()

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_())

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券