国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python3+PyQt5實現拖放功能

2020-02-22 23:51:14
字體:
來源:轉載
供稿:網友

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

#!/usr/bin/env python3import osimport sysfrom PyQt5.QtCore import Qtfrom PyQt5.QtWidgets import (QApplication, QDialog, QHBoxLayout,  QListWidget, QListWidgetItem, QSplitter, QTableWidget)from PyQt5.QtGui import QIconclass 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_()

運行結果:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桐梓县| 建始县| 西乡县| 八宿县| 娄底市| 南城县| 张家港市| 专栏| 搜索| 天气| 宝清县| 秀山| 电白县| 桃园市| 阿克苏市| 攀枝花市| 涡阳县| 那坡县| 阿拉尔市| 慈溪市| 高淳县| 讷河市| 奉贤区| 兰坪| 咸宁市| 株洲县| 德州市| 滕州市| 长汀县| 德惠市| 灵丘县| 乐至县| 隆林| 霸州市| 玉环县| 永川市| 甘德县| 勃利县| 永春县| 阿拉善盟| 墨江|