2009-06-27 7 views
2

テキストの選択後、Linuxではバッファにコピーするので、マウスの中央ボタンをクリックして貼り付けることができます。私はこのことのために特別なバッファがあると思います。私はそれを使いたい。選択したテキストのデータをどのように取得できますか?Linuxとクリップボード

  • OS:Linuxの
  • プログラミング言語:C++
  • 独自のライブラリ:Qtの

感謝。

+0

これはXの機能です。 – dmckee

答えて

6

だけで、より正確な答え:

QClipboard* clipboard = QApplication::clipboard(); 
QString selectedText = clipboard->text(QClipboard::Selection); 
1

Qtを使用している場合は、詳しいマニュアルページQClipboardをお読みください。あなたのニーズに答えるポール・ディクソンさんより

QClipboard *clipboard = QApplication::clipboard(); 
QString clipboardText = clipboard->text(); 
+0

通常のクリップボードからデータを取得します。私が必要とするものではありません。 – Ockonal

+0

解決しようとしている問題を示すために質問を拡大する必要があるかもしれません –

1

実際に選択して貼り付けシステムを扱うシステムはX11 Windowsがあります。たとえば、お気に入りのエディタでテキストをペイントすると、アプリケーションはX11サーバーにX11要求を送信し、アクティブな選択があることをX11サーバーに通知します。マウスの中央ボタンをどこかにクリックすると、X11サーバーは実際の内容の選択についてサーバーに指示したアプリケーションを照会します。その後、コンテンツは受信アプリケーションに転送されます。

Qtのようなライブラリはこのメカニズムのラッパーを提供しますが、そのメカニズムはX11です。

2

選択とクリップボードを区別する必要があります。 QClipboardドキュメントはNotes for X11 Usersセクションでこれを持っている:

X11ウィンドウシステムは、個別の選択とクリップボードの概念 を持っています。 テキストを選択すると、すぐに マウスの選択肢として が利用可能になります。グローバルマウス の選択肢は、後で クリップボードにコピーされます。慣習的には、 マウスボタンを使用して グローバルマウスの選択を貼り付けます。

QClipboard::Modeを使用すると、アクセスするタイプ(クリップボードまたは選択)を選択できます。重要な点は、選択とクリップボードの違いについて知っておく必要があることです。

関連する問題