我有一个 Gtk::TextView,无论字体大小如何,我总是希望有两行文本可见。显然,如果输入了两行以上,则该框将滚动,但我希望 TextView 保持 2 行高。
我该怎么做?
最佳答案
这很难。例如,如果一行中混合了两种字体大小,您会怎么做?
一种方法是创建一个字母的 Pango 布局并找出它的高度。这是我曾经用 C 编写的一些代码的未经测试的简化;但将其转换为 C++ 和 GTKmm 应该不会太麻烦:
PangoLayout *cell = gtk_widget_create_pango_layout(textview, "X");
int line_height;
pango_layout_get_pixel_extents(cell, NULL, &line_height);
g_object_unref(cell);
gtk_widget_set_size_request(textview, -1, line_height);
关于c++ - 如何在 Gtk::TextView 中设置可见行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5631486/