5

我正在使用 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,它仍然消失了,知道吗?

谢谢!

4

2 回答 2

5

看看这个。您需要将其设置为 12 * Scale.PangoScale。我对 C API 也有类似的问题。

于 2010-03-14T22:33:59.927 回答
0

这本质上是另一个 PangoScale 答案的 C# 版本:

Pango.FontDescription fontdesc = new Pango.FontDescription();
fontdesc.Size = Convert.ToInt32(12 * Pango.Scale.PangoScale);
....

注意:FontDescription.Size 是int而 PangoScale 是double类型,因此需要进行类型转换或其他 double 到 int 的转换。 Scale在引用的名称空间中可能不明确,因此最好使用完整引用 Pango.Scale。

于 2016-02-21T04:47:29.013 回答