GTKSharp、Pango、设置字体大小怪异

发布于 2024-08-25 11:51:03 字数 530 浏览 5 评论 0原文

我正在使用 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,默认的Size是0。所以我尝试了frontdesc.Size = 0,它仍然消失,知道吗?

谢谢!

I'm using GTK Sharp to work on some GUI for my app.

Take a look at this chunk of code:

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);

Notice fontdesc.Size is commented out. Because only when I comment it out, will I see the label with text. If I set any value to it, the label will not appear.

Also, I did a Console.WriteLine, and the default Size is 0. So I tried frontdesc.Size = 0, and it still disappears, any idea?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

人心善变 2024-09-01 11:51:03

检查这个。您需要将其设置为 12 * Scale.PangoScale。我在使用 C API 时也遇到过类似的问题。

Check this out. You need to set it to 12 * Scale.PangoScale. I had a similar problem with the C APIs.

终难愈 2024-09-01 11:51:03

这本质上是其他 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。

This is essentially a C# version of the other PangoScale answer:

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

Notes: FontDescription.Size is a int and PangoScale is type double so a type cast or other double to int conversion is needed.
Scale is likely ambiguous in the referenced name spaces, so the full reference Pango.Scale is probably best used.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文