我正在使用GTK Sharp为我的应用程序处理一些GUI。
看一下这段代码:
Pango.FontDescription fontdesc = new Pango.FontDescription();
fontdesc.Family = "Sans";
//fontdesc.Size = 12;
fontdesc.Weight = Pango.Weight.Semibold;
SyncInfo.ModifyFont(fontdesc);
Gdk.Color fontcolor = new Gdk.Color(255,255,255);
SyncInfo.ModifyFg(StateType.Normal, fontcolor);
注意fontdesc.Size被注释掉了。因为只有当我评论它时,我才能看到带有文字的标签。如果我为其设置任何值,标签将不会出现。
另外,我做了一个Console.WriteLine,默认大小为0.所以我尝试了frontdesc.Size = 0,它仍然消失,任何想法?
谢谢!
答案 0 :(得分:5)
检查this。您需要将其设置为12 * Scale.PangoScale。我在C API方面遇到了类似的问题。
答案 1 :(得分:0)
这实际上是另一个PangoScale答案的C#版本:
Pango.FontDescription fontdesc = new Pango.FontDescription();
fontdesc.Size = Convert.ToInt32(12 * Pango.Scale.PangoScale);
....
注意:FontDescription.Size是 int ,PangoScale是 double 类型,因此需要进行类型转换或其他double to int转换。 Scale 在引用的名称空间中可能不明确,因此最好使用完整的引用Pango.Scale。