【发布时间】: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