通常情況下,對於標籤,你可以做這樣的事情:如何使Gtk.Frame的標籤變爲粗體?
Label label = new Label ("<b>Some Text</b>") {
UseMarkup = true
};
然而,Gtk.Frame的標籤只是一個字符串,而不是一個完整的標籤。我找不到使用標記的選項。如何啓用標記,或以其他方式將標籤設置爲粗體?
通常情況下,對於標籤,你可以做這樣的事情:如何使Gtk.Frame的標籤變爲粗體?
Label label = new Label ("<b>Some Text</b>") {
UseMarkup = true
};
然而,Gtk.Frame的標籤只是一個字符串,而不是一個完整的標籤。我找不到使用標記的選項。如何啓用標記,或以其他方式將標籤設置爲粗體?
GtkFrame can be any widget的標籤,如果您願意,您可以使用自己的GtkLabel。
不知道它會怎樣看在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);
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();
希望這有助於。
以下你的友好風格:假。這些代碼因爲我已經使用過很多次了。顯然你不知道Gtk#,因爲你指的是底層(核心)Gtk +庫。考慮到Gtk#可能會添加行爲或說明您不知道:謹慎的一個很好的理由。特別是在這樣一個可疑的短語中:「如果你測試過這個代碼,你就會知道它不起作用。」 – Baltasarq 2016-02-23 21:45:16
+1;我從這些知識中學到了一些新東西:-)我需要檢查'gtkmm'是否也有一個默認的'Label'小部件,這可能非常有用!我認爲它只是一個字符串,但正如你所說的,可能是從GTK +錯誤地推斷,或者我甚至沒有讀過_that_正確;-) – 2016-02-24 10:29:55