python---剪贴板
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QTextEdit, QTextBrowser, QPushButton, QGridLayout class Demo(QWidget):
def __init__(self):
super(Demo, self).__init__()
self.text_edit = QTextEdit(self)
self.text_browser = QTextBrowser(self) self.clipboard = QApplication.clipboard() # 实例化剪贴板
self.clipboard.dataChanged.connect(lambda: print('数据变化了'))#当数据发生变化时发出信号 self.copy_btn = QPushButton('复制', self)
self.copy_btn.clicked.connect(self.copy_func) self.paste_btn = QPushButton('粘贴', self)
self.paste_btn.clicked.connect(self.paste_func) self.g_layout = QGridLayout()
self.g_layout.addWidget(self.text_edit, 0, 0, 1, 1)
self.g_layout.addWidget(self.text_browser, 0, 1, 1, 1)
self.g_layout.addWidget(self.copy_btn, 1, 0, 1, 1)
self.g_layout.addWidget(self.paste_btn, 1, 1, 1, 1)
self.setLayout(self.g_layout) def copy_func(self):
self.clipboard.setText(self.text_edit.toPlainText())#给剪贴板设置文本(纯文本) def paste_func(self):
#方法一
self.text_browser.setText(self.clipboard.text())
#self.clipboard.text() 返回剪贴板的文本
#方法二
mime = self.clipboard.mimeData() #返回剪贴板的mime数据。是对象
if mime.hasText():
self.text_browser.setText(mime.text())
# mime.text() 获取mime对象中的文本 if __name__ == '__main__':
app = QApplication(sys.argv)
demo = Demo()
demo.show()
sys.exit(app.exec_())
当然以上只是针对文本内容,当然还可以复制图片等文件,而剪贴板当然也有相应的方法,以下列出常用的:
方法 解释
clear() 清空剪贴板内容
mimeData() 获取剪贴板上的MIME类型数据
setMimeData() 将MIME类型数据放到剪贴板中
pixmap() 获取剪贴板上的QPixmap类型数据
setPixmap() 将QPixmap类型数据放到剪贴板中
image() 获取剪贴板上的QImage类型数据
setImage() 将QImage类型数据放到剪贴板中
text() 获取剪贴板上的文本
setText() 将文本放到剪贴板中
self.mime_data.setHtml(self.text_edit.textCursor().selection().toHtml()) 给MIME对象设置文本--带颜色格式的文本
self.clipboard.setMimeData(self.mime_data) 给剪贴板设置MIME数据
python---剪贴板的更多相关文章
- Python 必备好库 - 好工具收藏
apscheduler collections collections.OrderDict collections.defaultdict Python 标准库提供了 collections 模块.这 ...
- Python实践练习:多重剪贴板
题目 假定你有一个无聊的任务,要填充一个网页或软件中的许多表格,其中包含一些文本字段.剪贴板让你不必一次又一次输入同样的文本,但剪贴板上一次只有一个内容.如果你有几段不同的文本需要拷贝粘贴,就不得不一 ...
- 【291】Python 中字符串添加到剪贴板
参考:如何使用Python将字符串复制到Windows上的剪贴板上? 实现代码如下: from Tkinter import Tk r = Tk() r.withdraw() r.clipboard_ ...
- 设置PATH 环境变量、pyw格式、命令行运行python程序与多重剪贴板
pyw格式简介: 与py类似,我认为他们俩卫衣的不同就是前者运行时候不显示终端窗口,后者显示 命令行运行python程序: 在我学习python的过程中我通常使用IDLE来运行程序,这一步骤太过繁琐( ...
- python实践项目五:操作剪贴板-pyperclip模块
描述:读取剪贴板的内容,修改该内容,再将修改后的内容重新写进剪贴板 注意:执行程序代码前需保证剪贴板有内容,可复制以下内容来测试: Lists of animals Lists of aquarium ...
- Python Windows 快捷键自动给剪贴板(复制)图片添加水印
编写一个能在windows上使用的按下快捷键自动给剪贴板(复制)的图片添加水印的小工具.plyer.PIL.pyinstaller.pynput.win32clipboard库.记录自己踩过的坑,部分 ...
- python操作剪贴板错误提示:pywintypes.error: (1418, 'GetClipboardData',线程没有打开的剪贴板)
问题现象:通过打断点,一步步调试可以正常复制和粘贴剪贴板数据.但是直接运行会报错pywintypes.error: (1418, 'GetClipboardData',线程没有打开的剪贴板) 问题原因 ...
- 实用的 Python 包 —— 使用 win32 的剪贴板
1. usage >> import win32clipboard >> win32clipboard.OpenClipboard() >> win32clipbo ...
- python读写剪贴板
#coding:utf-8 import os import time import win32api import win32con import win32clipboard as w impor ...
- 使用Python保存屏幕截图(不使用PIL)
起因 在极客学院讲授<使用Python编写远程控制程序>的课程中,涉及到查看被控制电脑屏幕截图的功能. 如果使用PIL,这个需求只需要三行代码: from PIL import Image ...
随机推荐
- Python新手最容易犯的十大错误
1. 忘记写冒号 在 if.elif.else.for.while.class.def 语句后面忘记添加“:” if spam == 42 print('Hello!') 2. 误用 “=” 做等值比 ...
- linux判断httpd端口是否打开
判断端口是否打开 lsof -i:80 判断端口打开了几个 lsof -i:80 | wc -l
- RTX修改标题logo方法
摘要: 打开“腾讯通RTX管理器”→“配置向导”→“服务运行状态”→“停止所有服务”,退出“腾讯通RTX管理器”按照如下操作.①修改到期时间为:9999-12-300:0:0 用记事本打开“C:/Pr ...
- react native配置ip真机测试
首先保证真机和pc 保证在同一个网络下 根据红色错误判断自己是什么情况 例如 提示无法连接远程服务,说明你的不在同一网络下 提示500 可能配置的ip不对 设置ip方法 摇晃手机 ---> De ...
- 如何解决idea本身的乱码以及解决代码中出现的乱码?
1:解决idea中控制台的乱码现象(3中方法): 第一种: 如图需要找到idea的安装路径: idea\IntelliJ IDEA 2018.3.2\bin 在这个路径下面有一个文件叫:idea64. ...
- 【VS开发】windows注册ActiveX控件
ActiveX控件是一个动态链接库,是作为基于COM服务器进行操作的,并且可以嵌入在包容器宿主应用程序中,ActiveX控件的前身就是OLE控件.由于ActiveX控件与开发平台无关,因此,在一种编程 ...
- mac os cmake安装
1.下载安装程序,地址为 http://www.cmake.org/download/,下载 Unix/Linux Source (has \n line feeds) cmake-3.0.2.tar ...
- Office_Word使用技巧大全(超全)
目录 不收藏不行的 word 使用技巧大全 三招去掉页眉那条横线 批量转换全角字符为半角字符 快速打开最后编辑的文档 格式刷的使用 删除网上 下载 资料的换行符(象这种 "↓" ) ...
- Book - 《Python编程:从入门到实践》
Tag:看<Python编程:从入门到实践>学习笔记 数据类型相关: 字符串str 改变大小写(临时):title首字母大写,upper全大写,lower全小写 删除空白(临时):rstr ...
- HDU 1024 Max Sum Plus Plus (动态规划、最大m子段和)
Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...