- PyQt5 教程
- PyQt5 - 首页
- PyQt5 - 简介
- PyQt5 - 新特性
- PyQt5 - Hello World
- PyQt5 - 主要类
- PyQt5 - 使用 Qt Designer
- PyQt5 - 信号与槽
- PyQt5 - 布局管理
- PyQt5 - 基本控件
- PyQt5 - QDialog 类
- PyQt5 - QMessageBox
- PyQt5 - 多文档界面
- PyQt5 - 拖放
- PyQt5 - 数据库处理
- PyQt5 - 绘图 API
- PyQt5 - BrushStyle 常量
- PyQt5 - 剪贴板 (QClipboard)
- PyQt5 - QPixmap 类
- PyQt5 有用资源
- PyQt5 - 快速指南
- PyQt5 - 有用资源
- PyQt5 - 讨论
PyQt5 - 剪贴板 (QClipboard)
QClipboard 类提供对系统范围剪贴板的访问,该剪贴板提供了一种在应用程序之间复制和粘贴数据的简单机制。其操作类似于QDrag 类,并使用类似的数据类型。
QApplication 类有一个静态方法clipboard(),它返回对剪贴板对象的引用。任何类型的 MimeData 都可以复制到剪贴板或从剪贴板粘贴。
以下是常用的一些剪贴板类方法:
| 序号 | 方法及说明 |
|---|---|
| 1 |
clear() 清除剪贴板内容 |
| 2 |
setImage() 将 QImage 复制到剪贴板 |
| 3 |
setMimeData() 将 MIME 数据设置到剪贴板 |
| 4 |
setPixmap() 将 Pixmap 对象复制到剪贴板 |
| 5 |
setText() 将 QString 复制到剪贴板 |
| 6 |
text() 从剪贴板检索文本 |
与剪贴板对象关联的信号是:
| 序号 | 方法及说明 |
|---|---|
| 1 |
dataChanged() 每当剪贴板数据更改时 |
示例
在下面的示例中,两个TextEdit对象和两个PushButton对象被添加到顶级窗口。
首先实例化剪贴板对象。 textedit对象的Copy()方法将数据复制到系统剪贴板。当单击“粘贴”按钮时,它会获取剪贴板数据并将其粘贴到另一个textedit对象中。
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class Example(QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
hbox = QVBoxLayout()
self.edit1=QTextEdit()
hbox.addWidget(self.edit1)
self.btn1=QPushButton("Copy")
hbox.addWidget(self.btn1)
self.edit2=QTextEdit()
self.btn2=QPushButton("Paste")
hbox.addWidget(self.edit2)
hbox.addWidget(self.btn2)
self.btn1.clicked.connect(self.copytext)
self.btn2.clicked.connect(self.pastetext)
self.setLayout(hbox)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Clipboard')
self.show()
def copytext(self):
#clipboard.setText(self.edit1.copy())
self.edit1.copy()
print (clipboard.text())
msg=QMessageBox()
msg.setText(clipboard.text()+" copied on clipboard")
msg.exec_()
def pastetext(self):
self.edit2.setText(clipboard.text())
app = QApplication(sys.argv)
clipboard=app.clipboard()
ex = Example()
ex.setWindowTitle("clipboard Example")
sys.exit(app.exec_())
以上代码产生以下输出:
广告