2011-04-12 42 views
0

我有一個Gtk :: TextView,我總是希望有兩行文本可見,不管字體大小。很顯然,如果輸入了兩行以上的內容,那麼該框會滾動,但我希望文本視圖保持2行高。如何在Gtk :: TextView中設置可見線的數量?

我該怎麼做?

+0

您希望TextView自動調整其大小嗎? – Mark 2011-04-12 16:52:36

回答

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); 
相關問題