通常情况下,对于标签,你可以做这样的事情:如何使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