1

フォントサイズに関係なく、常に2行のテキストを表示したいGtk::TextViewがあります。明らかに、3行以上入力した場合、ボックスはスクロールしますが、テキストビューの高さは2行のままにしておきます。

どうすればよいですか?

4

1 に答える 1

2

これは非常に難しいです。たとえば、2つのフォントサイズが1行に混在している場合はどうしますか?

これを行う1つの方法は、1文字の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);
于 2011-04-13T12:05:10.580 に答える