明霞山资源网 Design By www.htccd.com
本文是对《Python Qt GUI快速编程》的第10章的例子拖放用Python3+PyQt5进行改写,对图表列表,表格等进行相互拖放,基本原理雷同,均采用setAcceptDrops(True)和setDragEnabled(True)。
#!/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,拖放
明霞山资源网 Design By www.htccd.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
明霞山资源网 Design By www.htccd.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。