【问题标题】:Copy text in GTK TextView在 GTK TextView 中复制文本
【发布时间】:2019-12-10 21:31:53
【问题描述】:

在 TextView 中有不同颜色的文字。问题是,如果我在给定的 TextView 中复制单词,颜色会保留,但如果我复制到另一个 TextView,它们就会消失。

【问题讨论】:

  • 您能否分享一个示例工作代码。从您的声明中我相信,在第二个 TextView CSS 中没有应用这就是颜色消失的原因?

标签: textview gtk


【解决方案1】:

因此,在 textView-1 中,您正在应用带有标签 (https://developer.gnome.org/gtk3/stable/GtkTextBuffer.html) 的缓冲区,标签就像在视图中应用文本的属性一样。即使您尝试在 textView-1 中写入内容而不应用缓冲区标记,文本也会看起来很正常。

复制时,您只是将文本复制为没有属性的字符串,因此在插入时,您必须将文本与标签一起插入以更改其颜色。

如果文本视图中的颜色是恒定的(文本视图中的颜色相同),那么您可以更改文本视图 css。

textview text {
color : #4fc3f7;
}

这会将文本颜色更改为蓝色。

【讨论】:

  • 我以编程方式更改了几个单词的颜色,即一个单词有color1,另一个有color2,然后我需要手动将所有单词复制(复制/粘贴)到另一个TextView。在 Qt TextEdit 中它可以工作
  • 在 Gtk 中,当你在同一个编辑器中复制文本时,它会起作用。我认为复制到不同的文本编辑器时不可能。如果你有 QT 代码,你可以分享它我可以试试分析并查看其工作原理并检查 gtk 中的可能性
  • 在Qt中,需要运行示例Qt\Examples\Qt-5.11.2\widgets\richtext\textedit\textedit.pro。运行应用程序的 2 个实例并执行复制/粘贴。我希望 GTK 的开发者有朝一日能类似地完成 TextView
猜你喜欢
  • 2011-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多