如何使Gtk.Frame的标签变粗?

时间:2010-01-01 04:00:54

标签: c# gtk gtk#

通常,对于标签,您可以执行以下操作:

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

然而,Gtk.Frame的标签只是一个字符串,而不是一个完整的标签。我找不到使用标记的选项。如何启用标记,或者将标签设置为粗体?

3 个答案:

答案 0 :(得分:3)

GtkFrame can be any widget的标签,如果您愿意,可以使用自己的GtkLabel。

答案 1 :(得分:1)

Gtk.Frame 可以将任何小部件设置为&#34;标签&#34;。您可以通过访问属性 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 ,正如您所说,您可以设置标记属性 true

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

希望这有帮助。

答案 2 :(得分:0)

不确定它在C#中的外观如何,但在普通C中你可以这样做:

&#13;
&#13;
  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);
&#13;
&#13;
&#13;