python3+PyQt5实现拖放功能


本文摘自php中文网,作者不言,侵删。

这篇文章主要为大家详细介绍了python3+PyQt5实现拖放功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文是对《Python Qt GUI快速编程》的第10章的例子拖放用Python3+PyQt5进行改写,对图表列表,表格等进行相互拖放,基本原理雷同,均采用setAcceptDrops(True)和setDragEnabled(True)。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

#!/usr/bin/env python3

import os

import sys

from PyQt5.QtCore import Qt

from PyQt5.QtWidgets import (QApplication, QDialog, QHBoxLayout,

  QListWidget, QListWidgetItem, QSplitter, QTableWidget)

from PyQt5.QtGui import QIcon

 

class Form(QDialog):

 

 def __init__(self, parent=None):

  super(Form, self).__init__(parent)

 

  listWidget = QListWidget()

  listWidget.setAcceptDrops(True)

  listWidget.setDragEnabled(True)

 

  path = os.path.dirname(__file__)

  for image in sorted(os.listdir(os.path.join(path, "images"))):

   if image.endswith(".png"):

    item = QListWidgetItem(image.split(".")[0].capitalize())

    item.setIcon(QIcon(os.path.join(path,

         "images/{0}".format(image))))

    listWidget.addItem(item)

  iconListWidget = QListWidget()

  iconListWidget.setAcceptDrops(True)

  iconListWidget.setDragEnabled(True)

  iconListWidget.setViewMode(QListWidget.IconMode)    

 

  tableWidget = QTableWidget()

  tableWidget.setRowCount(5)

  tableWidget.setColumnCount(2)

  tableWidget.setHorizontalHeaderLabels(["Column #1", "Column #2"])

  tableWidget.setAcceptDrops(True)

  tableWidget.setDragEnabled(True)

 

  splitter = QSplitter(Qt.Horizontal)

  splitter.addWidget(listWidget)

  splitter.addWidget(iconListWidget)

  splitter.addWidget(tableWidget)

  layout = QHBoxLayout()

  layout.addWidget(splitter)

  self.setLayout(layout)

 

  self.setWindowTitle("Drag and Drop")

 

if __name__ == "__main__":

 app = QApplication(sys.argv)

 form = Form()

 form.show()

 app.exec_()

运行结果:

相关推荐:

python3+PyQt5自定义视图详解

python3+PyQt5实现柱状图

python3+PyQt5实现文档打印功能

以上就是python3+PyQt5实现拖放功能的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

windows下安装Python的教程

Python中if条件语句是什么?实例解析条件语句

Python3下载哪个版本

盘点Python中的常用术语

Python中的len函数是什么意思

Python中if语句与while语句的简单介绍(附示例)

Python基于win32ui模块创建弹出式菜单

Python怎么安装plotly

实例解析Python单元测试及unittest框架用法

Python如何把字符串倒序

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...