python---剪贴板
2024-08-31 21:23:37
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数据
最新文章
- mac svn命令使用
- Navicat premium工具常用快捷键
- mysql 查询每个班级成绩前两名
- 中介者模式(Mediator)
- 选择最适合你的Linux学习方法
- Html类ImageGetter接口
- HDU4628+状态压缩DP
- JS中各种宽度、高度、位置、距离总结
- DOM操作-根据name获取网页中的全部复选框
- python特征提取——pyAudioAnalysis工具包
- 你不知道的JSON.stringify和JSON.parse
- 【python进阶】详解元类及其应用2
- ExtJS学习(二)Ext组件模型
- Hibernate内容详解
- Keras的一些功能函数
- RabbitMQ的应用场景以及基本原理简介
- mariadb(第一章)
- k8s定义Deployment,和service
- 矩阵乘法在numpy/matlab/数学上的不同
- Linux操作系统,服务器端的主流