2010-01-01 28 views
3

通常情況下,對於標籤,你可以做這樣的事情:如何使Gtk.Frame的標籤變爲粗體?

Label label = new Label ("<b>Some Text</b>") { 
    UseMarkup = true 
}; 

然而,Gtk.Frame的標籤只是一個字符串,而不是一個完整的標籤。我找不到使用標記的選項。如何啓用標記,或以其他方式將標籤設置爲粗體?

回答

0

不知道它會怎樣看在C#中,但純C,你可以這樣做:

frame = GTK_WIDGET (g_object_new (GTK_TYPE_FRAME, "label", "", NULL)); 
 
    label = gtk_label_new(_("<b>Scope</b>")); 
 
    gtk_label_set_use_markup(GTK_LABEL(label), TRUE); 
 
    gtk_frame_set_label_widget (GTK_FRAME(frame), label);

1

Gtk.Frame有任何設置widget作爲 「標籤」 的可能性。您可以通過訪問LabelWidget來訪問此小組件。使用這種可能性,您可以使用您需要的任何屬性設置新的Gtk.Label

var frmExample = new Gtk.Frame(); 
frmExample.LabelWidget = new Gtk.Label() { Markup = "<b>Example</b>" }; 
this.Add(frmExample); 
this.showAll(); 

該解決方案實際上更簡單的標籤具有標記的具體情況。我發現,在Gtk.Frame已經有一個Gtk.Label連接,並且,如你所說,你可以在標記屬性設置爲

var frmExample = new Gtk.Frame("<b>Example</b>"); 
((Gtk.Label) this.frmExample.LabelWidget).UseMarkup = true; 
this.Add(frmExample); 
this.showAll(); 

希望這有助於。

+1

以下你的友好風格:假。這些代碼因爲我已經使用過很多次了。顯然你不知道Gtk#,因爲你指的是底層(核心)Gtk +庫。考慮到Gtk#可能會添加行爲或說明您不知道:謹慎的一個很好的理由。特別是在這樣一個可疑的短語中:「如果你測試過這個代碼,你就會知道它不起作用。」 – Baltasarq 2016-02-23 21:45:16

+1

+1;我從這些知識中學到了一些新東西:-)我需要檢查'gtkmm'是否也有一個默認的'Label'小部件,這可能非常有用!我認爲它只是一個字符串,但正如你所說的,可能是從GTK +錯誤地推斷,或者我甚至沒有讀過_that_正確;-) – 2016-02-24 10:29:55

相關問題