2009-06-27 7 views
2

텍스트를 선택한 후 Linux에서 버퍼에 복사하므로 마우스의 가운데 버튼을 클릭하여 붙여 넣을 수 있습니다. 나는이 물건을위한 특별한 완충 장치가 있다고 생각한다. 나는 그것을 사용하고 싶다. 선택한 텍스트의 데이터를 어떻게 얻을 수 있습니까?리눅스 및 클립 보드

  • OS : 리눅스
  • 프로그래밍 언어 : 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 윈도우입니다. 당신이 좋아하는 편집기에서 텍스트를 그리는 경우, 응용 프로그램은 X11 서버에 활성 선택이 있음을 알리는 X11 요청을 전송합니다. 그런 다음 가운데 마우스 버튼을 클릭하면 X11 서버는 실제 내용에 대한 선택을 서버에 알린 응용 프로그램을 쿼리합니다. 그런 다음 내용이 수신 응용 프로그램으로 전달됩니다.

Qt와 같은 라이브러리는이 메커니즘에 대한 래퍼를 제공하지만 기본 메커니즘은 X11입니다.

2

선택 사항과 클립 보드를 구분해야합니다. QClipboard 문서는 Notes for X11 Users 섹션이 있습니다

X11 윈도우 시스템은 별도의 선택과 클립 보드의 개념 있습니다. 텍스트를 선택하면 마우스 선택으로 바로 사용할 수있는 입니다. 글로벌 마우스 선택 사항은 나중에 클립 보드에 복사 할 수 있습니다. 규칙에 따라 마우스 단추를 사용하여 글로벌 마우스 선택을 붙여 넣습니다.

QClipboard::Mode으로 액세스하려는 유형 (클립 보드 또는 선택 사항)을 선택할 수 있습니다. 중요한 부분은 선택과 클립 보드의 차이점을 알아야한다는 것입니다.