- 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_())
以上程式碼產生以下輸出:
廣告