GTK新手:glade app有很大的字体

时间:2014-09-15 16:01:57

标签: c linux user-interface gtk glade

我有一个用林间空地制作的继承项目。在调试了一些automake和gettext问题之后,我设法让它针对gtk + 1.2编译。 (它的旧代码不断适应类似用途。)不幸的是,我以前从未使用过GTK。代码在C中,在CentOS 6上开发。

编译时,它应该看起来像这样(我已经设法挖掘的旧版本的屏幕截图):

good gui

相反,当我在我的系统上编译它时,它看起来像这样:

bad gui

即,所有按钮,窗口等都存在,但看起来字体已经变得超大了。我猜这只是将代码指向一组更好的字体的问题,但可能不是。有没有人遇到过这种事情?如果是这样,有没有人对从何处开始研究如何解决问题有所了解?

更新:

所以我在XML文件中找到了标签的设置。例如,左上角的GUNN On按钮是这样定义的:

<child>
  <widget class="GtkToggleButton" id="gunn2_on_tog">
    <property name="can_focus">yes</property>
    <property name="label" translatable="yes">GUNN On</property>
    <property name="relief">GTK_RELIEF_NORMAL</property>
    <property name="active">no</property>
    <property name="width-request">72</property>
    <property name="height-request">24</property>
    <property name="visible">yes</property>
    <signal name="toggled" handler="on_gunn2_on_tog_toggled" />
  </widget>
  <packing>
    <property name="x">8</property>
    <property name="y">16</property>
  </packing>
</child>

我似乎需要做一些Pango标记:https://developer.gnome.org/pango/stable/PangoMarkupFormat.html,但我还在挖掘过程中。

更新2:

我设法将glade文件转换为最近的版本,以便安装在计算机上的glade将打开它。林间空地应用程序中的字体界面字体看起来很好。直到我编译并运行该程序才能使字体失控。我也尝试通过首选项菜单更改我的系统字体首选项,但无济于事。

更新3:

我已经能够更改字体了。最后。我编辑了/ etc / gtk / gtkrc并添加了行

style "default-text" {
fontset = "-adobe-helvetica-medium-o-normal--10-100-75-75-p-57-iso10646-1,-*-r-*-iso10646-1,*"
}
widget "*" style "default-text"

最后。它仍然不完美,我不完全理解它。但进步。

1 个答案:

答案 0 :(得分:1)

所以,最后我找到了答案。

作为gtk 1.2应用程序,程序最终会尊重系统(或本地).gtkrc文件。

fontset旁边的长字符串是X逻辑字体描述(wikipedia)。

程序xfontsel(在xorg-x11-apps yum包中为CentOS提供)允许用户选择他们想要的字符串。我对gtkrc文件的最终选择是:

style "default-text" {
fontset = "-adobe-helvetica-medium-r-normal--*-80-*-*-*-*-*-*"
}
widget "*" style "default-text"

这给了我以下结果:

fixed gui

我确信,自从最早提到GTK + 1.2.10开始于2001年左右,这将是Stack Exchange未来的一个非常有用的帖子。希望有这个问题的其他人至少会发现这个有用。

在我的gtkrc中,并非我在近15年的论坛帖子中找到的这种样式定义的每个例子都有效。我猜它与我系统上的某些字体有关。