我正在使用 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);
谢谢你的想法!!!