问题标签 [gtktextview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1698 浏览

gtk3 - 使用 css 设置 gtk textview 选择颜色

我有以下代码可以很好地为 GtkTextview 设置背景和前景色:

结果是正常和选定的文本颜色都具有黑色背景和白色前景。

为什么所选文本不显示为黄色/蓝色?

任何指向示例文件的指针都将不胜感激。

0 投票
1 回答
32 浏览

gtk3 - 我可以在 GtkTextView 中插入一个零宽度标记的跨度吗?

我有一个 GtkTextView,我想在其中嵌入一些不可编辑的跨度,否则可以自由编辑的文档。问题是,如果我删除两个这样的跨度之间的所有文本,它们会“合并在一起”,因为我不能再在它们之间插入字符。这是一些演示问题的 ruby​​ 代码:

由于我在 "hello" 和 "world" 之间添加了一个可编辑的 " ",我可以在它们之间插入文本,但是如果我删除了空格,我将无法再将其添加回来,即使 "hello" 和 "world" 是两个独立的锁定跨度。

编辑:为了澄清,通过“删除空间”我的意思是如果我单击文本区域并按退格键直到空间消失并且两个不可编辑的跨度连接在一起,我不能再单击它们之间的边界并将文本插入到将它们推开。

0 投票
0 回答
75 浏览

c - GtkTextView 的首选尺寸何时更新?

我注意到 GtkTextView 的首选大小在其内容更改后不会立即更改,但只会在事件处理的某个时间后更改。

在下面的示例中,当您单击按钮时,GtkTextView 中的文本通过 gtk_text_buffer_set_text() 更新。新文本的长度足以导致换行,因此控件的首选高度应该改变。但是 gtk_widget_get_preferred_size() 仍然报告旧的首选高度。稍后,在“大小分配”事件处理程序中,gtk_widget_get_preferred_size() 已经报告了新内容的正确大小。

我试图了解按钮的“单击”事件处理程序的返回和“大小分配”事件处理程序之间发生了什么,这导致 GtkTextView 的首选大小更新以反映其更改的内容。

这显示:

0 投票
1 回答
70 浏览

gtk - GTK:如何显示固定大小的文本页面

我刚刚学习 GTK 编程,我不知道如何显示文本的“页面”,M 行 N 列,每个位置包含一个具有给定前景和背景的字符。边界矩形的大小将固定,我会不时更新“页面”(或网格)的内容。我怎样才能聪明地做到这一点?

我读过 GtkLabel,但这似乎是错误的。GtkTextView 看起来可能有效,但我的实验很尴尬。GtkTextView 似乎想要显示文本流,而不是显示网格并更新单个网格位置。

对此的任何帮助将不胜感激。

0 投票
1 回答
75 浏览

c - GtkTextView 文本着色未按预期工作

我正在尝试使用 GtkTextView 突出显示代码中的 C++ 样式注释,但它似乎无法正常工作。我想创建一个函数,首先将所有突出显示重置为默认值(黑色),然后仅绘制与模式 / 匹配的文本部分?*/ 虽然正则表达式部分有效,但我对 Gtk 的服从有严重问题 - 它只是将文本涂成黑色并停止。这有什么合乎逻辑的解释吗?难道我做错了什么?我正在放置应该工作但它没有工作的示例代码。编译命令是

0 投票
1 回答
142 浏览

gtk - 如何为 GtkTextView 设置最大文本宽度?

我有一个 GtkTextView,我希望能够为文本设置最大线宽。如果 TextView 的宽度超过了最大文本宽度,多余的空间应该在文本的左右两边用 padding 填充。尽管 Gtk 支持min-widthCSS 属性,但似乎没有max-width属性。相反,我尝试通过连接size-allocate到调整 TextView 大小时动态设置边距

这会为任何给定的 TextView 宽度生成所需的文本行宽,但在调整窗口大小时会导致奇怪的行为。将窗口调整为更小的宽度会发生缓慢的延迟。尝试最大化窗口会使窗口跳到比屏幕大得多的宽度。 size-allocate可能不是要连接的正确信号,但是当调整 TextView 的大小时,我无法找到任何其他方法来动态设置边距。

实现最大文本行宽的正确方法是什么?