Gtk 3.10小部件向后兼容吗?

时间:2014-08-01 00:36:23

标签: c++ gtk3 gtkmm glade

我不确定这个问题是应该在Ubuntu网站还是在这里。我在这里发布它是因为它是关于编程的,但也许它应该被迁移。

我在Ubuntu上使用gtkmm和defualt GCC工具链,我刚刚从Ubuntu 12.04 LTS升级到14.04 LTS,它使用GTK + 3.10。

我有使用Gtk::TextEntryGtk::SpinButton小部件的Glade项目文件。当我从12.04 LTS升级后在Glade中打开项目时,我在尝试保存Glade文件时收到此消息。 (我没有保存文件 - 我坚持使用旧文件,所以我不会破坏某些东西。)

[window1:frame1:box1:layout1:spinbutton3] Property 'Placeholder text' of object class 'Text Entry' was introduced in gtk+ 3.2. ]

当我构建并运行C ++项目时,某些小部件无法正确呈现(SpinEdit上/下按钮丢失,我放置的标签位置偏斜):

enter image description here

升级之前一切正常。

在Synaptic中我看到我现在安装了libgtk-3-0和libgtk-3-0-dev,没有进一步的更新。

运行3.10时,3.2小部件是否存在兼容性问题?格莱德的问题是什么?我做错了什么,3.10正在捕捉,但3.2没有?为什么会这样?我该如何解决?我对这个问题是什么/哪里感到困惑。

1 个答案:

答案 0 :(得分:4)

您不应该使用X / Y定位在GTK +中创建布局。 GTK +基于盒子模型。您应该使用GtkGrid将这些小部件放在网格中,以便标签和旋转按钮位于网格中。如果用户更改字体大小,主题更改或其他此类内容,指定X / Y定位将导致潜在问题与您看到的完全相同。