簡體   English   中英

如何以編程方式在gtk文本緩沖區中選擇文本(主要選擇)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM