2

我正在使用 gtk+-2.0 & gtksourceview-2.0 编写文本编辑器。我无法找到一种以编程方式选择文本块并将其添加到操作系统(linux)主选择剪贴板的方法。就像我用鼠标突出显示一个文本块或按住 shift 键并用箭头键选择文本一样。

我在“gtk_text_buffer_get_selection_bound()”下的 devhelp 中找到了语句:

缓冲区中当前选定的文本是“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);

谢谢你的想法!!!

4

1 回答 1

1

也许您应该尝试gtk_editable_copy_clipboard ()。该文档说“将当前选定内容的内容复制到可编辑内容中并将其放在剪贴板上”。然后使用gtk_editable_paste_clipboard()进行粘贴,它“将剪贴板的内容粘贴到可编辑中光标的当前位置”。

于 2012-05-20T22:43:52.293 回答