[英]how to programmatically select text (primary selection) in a gtk text buffer
我正在使用gtk + -2.0和gtksourceview-2.0編寫文本編輯器。 我在尋找一種方法來編程選擇文本塊並將其添加到OS(linux)主選擇剪貼板時遇到麻煩。 就像我用鼠標突出顯示一個文本塊或按住Shift鍵並使用箭頭鍵選擇文本一樣。
我在devhelp中的“ gtk_text_buffer_get_selection_bound()”下找到了以下語句:
緩沖區中當前選擇的文本是“ selection_bound”和“ insert”標記之間的區域。
編輯: gtk_text_buffer_select_range(),設置這兩個標記的位置。
以下代碼塊(使用文本迭代器指定的開始和結束區域)復制到主要選擇剪貼板(根據需要):
gtk_text_buffer_select_range (tbuffer, &start, &end);
GtkClipboard *cb = gtk_clipboard_get(GDK_SELECTION_PRIMARY);
gtk_text_buffer_copy_clipboard (tbuffer,cb);
謝謝你的想法!!!
也許您應該嘗試gtk_editable_copy_clipboard() 。 該文檔說:“將當前所選內容的內容復制到可編輯內容中,並將其放在剪貼板上”。 然后使用gtk_editable_paste_clipboard()粘貼,它“將剪貼板的內容粘貼到可編輯區域中光標的當前位置”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.