剪貼簿(QClipboard)


您 可以將資料放在剪貼簿中,讓應用程式透過剪貼簿共享一些資訊,Qt中剪貼簿的代表物件是QClipboard,您可以透過QApplication的 clipboard()方法來取得:
QClipboard *clipboard = QApplication::clipboard();

取得QClipboard之後,您可以使用setImage()、setPixmap()、setText()等 方法,將圖片或文字訊息設定至剪貼簿,在使用這些方法時,在X11環境下,也可以使用常數QClipboard::Selection指定設定至滑鼠選擇 區,預設是設定為QClipboard::Clipboard:
clipboard->setText(lineEdit->text(), QClipboard::Clipboard);

您可以使用QClipboard的supportsSelection()測試是否支援滑鼠選擇區。要從剪貼簿中取得資料,可以使用image()、pixmap()、text()等方法,同樣的,您可以指定
QClipboard::Selection從滑鼠選擇 區取得資料。

您也可以使用QMimeData設定好相關資料,再使用QClipboard的setMimeData()方法將QMimeData設定至剪貼簿,這讓剪 貼簿可以攜帶各種類型,而不僅受限於文字或圖片。

QClipboard擁有一些預設的Signal,像是changed(QClipboard::Mode mode)、dataChanged()、findBufferChanged()、selectionChanged(),可以讓您得知剪貼簿的狀態變 化。