国产探花免费观看_亚洲丰满少妇自慰呻吟_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_()

運行結果:

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌宁县| 永春县| 内乡县| 察雅县| 长岭县| 白玉县| 东至县| 辉县市| 临城县| 泸西县| 盱眙县| 九台市| 靖宇县| 民乐县| 贺州市| 肇源县| 赤壁市| 阳曲县| 盐边县| 天津市| 方山县| 老河口市| 镇坪县| 新昌县| 随州市| 龙口市| 盐亭县| 蕉岭县| 醴陵市| 遂平县| 公主岭市| 信丰县| 南皮县| 通海县| 冀州市| 井研县| 石台县| 集安市| 兴义市| 义马市| 黑龙江省|