我致力于gschem,这是一个用于编辑电子原理图的免费软件工具。最近,我们在使用包含GtkScrolledWindowGtkTextView时遇到了问题。

语境

Ubuntu的最新版本使用覆盖滚动条,这意味着GtkScrolledWindows不再设置为传统滚动条提供足够空间的最小高度(实际上,它们的最小高度为0)。同样,没有要显示的文本的GtkTextView要求高度为0。这意味着gschem中可滚动的GtkTextViews之一已被显示为一个像素高,这显然是不可用的。

在上面显示的屏幕快照右侧的对话框中,注意“值:”标签和“添加”按钮之间的不可见小部件。

一些用户已独立报告了此问题-另请参见bug report

问题

显然,我们可以通过以下方法解决此问题:

g_object_set (textview, "height-request", 100, NULL);

但是,这非常不雅致,并且对于以像素为单位设置非常大的字体大小的用户(例如,视力有问题的用户或使用高DPI屏幕的用户)将不起作用。

因此,理想情况下,我们要相对于默认字体大小设置GtkTextView的最小大小。告诉它“至少显示三行文字”。

有人可以建议这样做的明智/优雅的方法吗?

最佳答案

只需通过执行以下操作来禁用应用程序中的ubuntu覆盖滚动条:

putenv("LIBOVERLAY_SCROLLBAR=0");

这并不理想,但是在找到更永久的解决方案之前,这是一个很好的选择。或者只是等到Ubuntu禁用覆盖滚动条...

关于c - 在GtkScrolledWindow中自动调整GtkTextView的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8482505/

10-11 19:40