我在gschem上工作,这是一个用于编辑电子原理图的免费软件工具.最近我们使用包含GtkTextView的GtkScrolledWindow遇到了问题.
最新版本的Ubuntu使用覆盖滚动条,这意味着GtkScrolledWindows不再设置最小高度,为传统滚动条提供足够的空间(实际上,它们的最小高度为0).同样,没有显示文本的GtkTextView请求高度为0.这意味着gschem中的一个可滚动的GtkTextViews被显示为高度中的一个像素,这显然是不可用的.

在上面显示的屏幕截图右侧的对话框中,记下"值:"标签和"添加"按钮之间的不可见小部件.
一些用户已经独立报告了这一点 - 另请参阅错误报告.
显然,我们可以通过以下方式解决这个问题:
g_object_set (textview, "height-request", 100, NULL);
Run Code Online (Sandbox Code Playgroud)
然而,这非常不优雅,并且对于以像素设置非常大的字体大小的用户(例如,具有视力问题的用户或使用高DPI屏幕的用户)将会中断.
因此,理想情况下,我们希望将GtkTextView的最小大小设置为相对于默认字体大小,例如告诉它"显示至少三行文本".
有人能建议一个明智/优雅的方法吗?
只需在应用程序中禁用 ubuntu 覆盖滚动条即可:
putenv("LIBOVERLAY_SCROLLBAR=0");
Run Code Online (Sandbox Code Playgroud)
并不理想,但在您找到更永久的解决方案之前,这是一个很好的选择。或者,只需等待 Ubuntu 禁用覆盖滚动条...