如何设置Gtk :: TextView中的可见行数?

时间:2011-04-12 06:57:38

标签: c++ height textview lines gtkmm

我有一个Gtk :: TextView,我总是希望看到两行文字,无论字体大小如何。很明显,如果输入的行超过两行,那么该框会滚动,但我希望文本视图保持2行高。

我该怎么做?

1 个答案:

答案 0 :(得分: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);