Qt學習之路 55 剪貼簿操作

2021-09-21 21:17:54 字數 1663 閱讀 7907

剪貼簿的操作經常和前面所說的拖放技術在一起使用,因此我們現在先來說說剪貼簿的相關操作。

大家對剪貼簿都很熟悉。我們可以簡單的把它理解成乙個資料的儲存池,可以把外面的資料放置進去,也可以把裡面的資料取出來。剪貼簿是由作業系統維護的,所以這提供了跨應用程式資料互動的一種方式。qt 已經為我們封裝好很多關於剪貼簿的操作,因此我們可以在自己的應用中很容易的實現。下面還是從**開始:

clipboarddemo.h

#ifndef clipboarddemo_h 

#define clipboarddemo_h

#include 

class

clipboarddemo : 

public

qwidget  

;  #endif // clipboarddemo_h

clipboarddemo.cpp

#include 

#include "clipboarddemo.h"

clipboarddemo::clipboarddemo(qwidget *parent)  

: qwidget(parent)  

void

clipboarddemo::setclipboard()  

void

clipboarddemo::getclipboard()  

main.cpp

#include "clipboarddemo.h" 

#include 

intmain(

intargc, 

char

*ar**)  

main() 函式很簡單,就是把我們的 clipboarddemo 類顯示了出來。我們重點來看 clipboarddemo 中的**。

建構函式同樣沒什麼複雜的內容,我們把乙個label。乙個 textedit 和兩個 button擺放到視窗中。這些**已經能夠很輕易的寫出來了;然後進行了訊號槽的連線。

void

clipboarddemo::setclipboard()  

void

clipboarddemo::getclipboard()  

另外值得說的是,通過上面的例子可以看出,qtextedit 預設就是支援 ctrl+c, ctrl+v 等快捷鍵操作的。不僅如此,很多 qt 的元件都提供了很方便的操作,因此我們需要從文件中獲取具體的資訊,從而避免自己重新去發明輪子。

qclipboard 提供的資料型別很少,如果需要,我們可以繼承 qmimedata 類,通過呼叫 setmimedata() 函式讓剪貼簿能夠支援我們自己的資料型別。

在 x11 系統中,滑鼠中鍵(一般就是滾輪)可以支援剪貼操作的。為了實現這一功能,我們需要向 qclipboard::text() 函式傳遞 qclipboard::selection 引數。例如,我們在滑鼠按鍵釋放的事件中進行如下處理:

void

mytexteditor::mousereleaseevent(qmouseevent *event)  

} 這裡的 supportsselection() 在 x11 平台返回 true,其餘平台都是返回 false 的。

另外,qclipboard 提供了 datachanged() 訊號,以便監聽剪貼簿資料變化。

Qt學習之路 55 剪貼簿操作

剪貼簿的操作經常和前面所說的拖放技術在一起使用,因此我們現在先來說說剪貼簿的相關操作。大家對剪貼簿都很熟悉。我們可以簡單的把它理解成乙個資料的儲存池,可以把外面的資料放置進去,也可以把裡面的資料取出來。剪貼簿是由作業系統維護的,所以這提供了跨應用程式資料互動的一種方式。qt 已經為我們封裝好很多關於...

Qt學習之路 55 剪貼簿操作

2010 04 07 23 46 39 標籤 c 教程學習 qt教程qt 原始出處 作者資訊和本宣告。否則將追究法律責任。剪貼簿的操作經常和前面所說的拖放技術在一起使用,因此我們現在先來說說剪貼簿的相關操作。大家對剪貼簿都很熟悉。我們可以簡單的把它理解成乙個資料的儲存池,可以把外面的資料放置進去,也...

Qt 學習之路 2(54) 剪貼簿

剪貼簿的操作經常和前面所說的拖放技術在一起使用。大家對剪貼簿都很熟悉。我們可以簡單地把它理解成乙個資料儲存池,外面的資料可以存進去,裡面資料也可以取出來。剪貼簿是由作業系統維護的,所以這提供了跨應用程式的資料互動的一種方式。qt 已經為我們封裝好很多關於剪貼簿的操作,我們可以在自己的應用中很容易實現...