【问题标题】:GtkRevealer glitches the text view drawingGtkRevealer 使文本视图绘图出现故障
【发布时间】:2018-10-14 14:55:24
【问题描述】:

在我的程序开发过程中,我遇到了一个无法解决的绘图故障。我正在使用 GtkRevealer 在另一个框上方显示和隐藏 GtkInfoBar,该框包含一个带有 GtkTextView(实际上是 GtkSourceView)的滚动窗口,就像它在 gedit 中一样。 整个东西都装在一个 GtkPaned 中。

当我通过显示器隐藏信息栏时,文本视图中会出现一个黑色区域,当必须重新绘制小部件时它会消失(例如,当我单击文本视图以放置光标时) 此外,如果我放大窗口的默认分辨率(出于兼容性原因,默认分辨率为 640x480),则不会出现此故障。 我知道这可能很难重现,但我不知道谁遇到了同样的问题。他可能知道解决此问题的方法。 也欢迎任何想法。 我将准确地绘制 gedit 上的故障外观(尽管它不会在 gedit 中发生或确实发生但我无法达到正确的分辨率)。

我试图用gtk_widget_queue_draw() 强制重绘,但什么也没有发生,也不会,因为它没有什么可重绘的。 我现在将尝试自动放置光标。它可能有效,但在功能上还不够。 编辑: 令人惊讶的是它没有工作。抓住焦点并放置光标 对错误的视觉行为没有影响。我什至不得不换一条新线 这次要修复它。 我必须使用大于特定点的值调整窗口大小的事实可能意味着故障可能是由于对齐错误造成的,但这并不能解释为什么在装订线中添加新行或文本标记来着色整行也去除了黑场。

【问题讨论】:

    标签: c windows windows-7 gtk visual-glitch


    【解决方案1】:

    目前,在其他带有文本视图的程序中也遇到了此错误,但尚未将其报告为错误。 也许这与它难以复制的事实有关。

    我发现用gtk_widget_hide() 隐藏gtk 文本视图然后用gtk_widget_show() 显示它是可行的。这种视觉故障的闪烁并不明显,可能是由于 GTK+ 是基于事件的并等待函数返回到进程更改。

    【讨论】:

      猜你喜欢
      • 2012-11-29
      • 2014-10-19
      • 1970-01-01
      • 2022-12-04
      • 2019-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      相关资源
      最近更新 更多