本文是对《Python Qt GUI快速编程》的第10章的例子剪贴板用Python3+PyQt5进行改写,分别对文本,图片和html文本的复制与粘帖,三种做法大同小异。
#!/usr/bin/env python3
import os
import sys
from PyQt5.QtCore import (QMimeData, Qt)
from PyQt5.QtWidgets import (QApplication, QDialog, QGridLayout, QLabel,
QPushButton)
from PyQt5.QtGui import QPixmap
class Form(QDialog):
def __init__(self, parent=None):
super(Form, self).__init__(parent)
textCopyButton = QPushButton("&Copy Text")
textPasteButton = QPushButton("Paste &Text")
htmlCopyButton = QPushButton("C&opy HTML")
htmlPasteButton = QPushButton("Paste &HTML")
imageCopyButton = QPushButton("Co&py Image")
imagePasteButton = QPushButton("Paste &Image")
self.textLabel = QLabel("Original text")
self.imageLabel = QLabel()
self.imageLabel.setPixmap(QPixmap(os.path.join(
os.path.dirname(__file__), "images/clock.png")))
layout = QGridLayout()
layout.addWidget(textCopyButton, 0, 0)
layout.addWidget(imageCopyButton, 0, 1)
layout.addWidget(htmlCopyButton, 0, 2)
layout.addWidget(textPasteButton, 1, 0)
layout.addWidget(imagePasteButton, 1, 1)
layout.addWidget(htmlPasteButton, 1, 2)
layout.addWidget(self.textLabel, 2, 0, 1, 2)
layout.addWidget(self.imageLabel, 2, 2)
self.setLayout(layout)
textCopyButton.clicked.connect(self.copyText)
textPasteButton.clicked.connect(self.pasteText)
htmlCopyButton.clicked.connect(self.copyHtml)
htmlPasteButton.clicked.connect(self.pasteHtml)
imageCopyButton.clicked.connect(self.copyImage)
imagePasteButton.clicked.connect(self.pasteImage)
self.setWindowTitle("Clipboard")
def copyText(self):
clipboard = QApplication.clipboard()
clipboard.setText("I've been clipped!")
def pasteText(self):
clipboard = QApplication.clipboard()
self.textLabel.setText(clipboard.text())
def copyImage(self):
clipboard = QApplication.clipboard()
clipboard.setPixmap(QPixmap(os.path.join(
os.path.dirname(__file__), "images/gvim.png")))
def pasteImage(self):
clipboard = QApplication.clipboard()
self.imageLabel.setPixmap(clipboard.pixmap())
def copyHtml(self):
mimeData = QMimeData()
mimeData.setHtml("<b>Bold and <font color=red>Red</font></b>")
clipboard = QApplication.clipboard()
clipboard.setMimeData(mimeData)
def pasteHtml(self):
clipboard = QApplication.clipboard()
mimeData = clipboard.mimeData()
if mimeData.hasHtml():
self.textLabel.setText(mimeData.html())
if __name__ == "__main__":
app = QApplication(sys.argv)
form = Form()
form.show()
app.exec_()
运行结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# python
# 复制到剪贴板
# 剪贴板
# 操作剪贴板
# python两种获取剪贴板内容的方法
# 对python pandas读取剪贴板内容的方法详解
# python 3调用百度OCR API实现剪贴板文字识别
# python控制windows剪贴板
# 向剪贴板中写入图片的实例
# 使用wxPython获取系统剪贴板中的数据的教程
# python实现剪贴板的操作
# 三种
# 大同小异
# 大家多多
# textCopyButton
# parent
# super
# def
# QPushButton
# QLabel
# QGridLayout
# Form
# QPixmap
# QtGui
# amp
# htmlPasteButton
# HTML
# imageCopyButton
# imagePasteButton
# Image
# opy
相关文章:
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
如何在Windows服务器上快速搭建网站?
,怎么用自己头像做动态表情包?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
如何在服务器上三步完成建站并提升流量?
如何高效配置IIS服务器搭建网站?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
PHP 500报错的快速解决方法
如何在Golang中引入测试模块_Golang测试包导入与使用实践
c# 在ASP.NET Core中管理和取消后台任务
三星网站视频制作教程下载,三星w23网页如何全屏?
5种Android数据存储方式汇总
C#怎么使用委托和事件 C# delegate与event编程方法
如何通过二级域名建站提升品牌影响力?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
建站主机无法访问?如何排查域名与服务器问题
广州美橙建站如何快速搭建多端合一网站?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
建站OpenVZ教程与优化策略:配置指南与性能提升
建站主机是否属于云主机类型?
建站VPS能否同时实现高效与安全翻墙?
如何在自有机房高效搭建专业网站?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
建站之星CMS五站合一模板配置与SEO优化指南
如何彻底卸载建站之星软件?
已有域名和空间如何快速搭建网站?
网站制作企业,网站的banner和导航栏是指什么?
内部网站制作流程,如何建立公司内部网站?
建站之星伪静态规则如何正确配置?
ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?
如何在万网自助建站中设置域名及备案?
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
建站之星如何修改网站生成路径?
如何构建满足综合性能需求的优质建站方案?
如何挑选优质建站一级代理提升网站排名?
如何用5美元大硬盘VPS安全高效搭建个人网站?
建站之星官网登录失败?如何快速解决?
如何选择适配移动端的WAP自助建站平台?
C++如何编写函数模板?(泛型编程入门)
建站为何优先选择香港服务器?
css网站制作参考文献有哪些,易聊怎么注册?
无锡营销型网站制作公司,无锡网选车牌流程?
微信小程序 input输入框控件详解及实例(多种示例)
如何选择可靠的免备案建站服务器?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
如何用西部建站助手快速创建专业网站?
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
如何在建站宝盒中设置产品搜索功能?
*请认真填写需求信息,我们会在24小时内与您取得联系。