我致力于gschem,这是一个用于编辑电子原理图的免费软件工具。最近,我们在使用包含GtkScrolledWindow的GtkTextView时遇到了问题。
语境
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/