C++ Gtk 3.10小部件是否向后兼容?

C++ Gtk 3.10小部件是否向后兼容?,c++,gtk3,gtkmm,glade,C++,Gtk3,Gtkmm,Glade,我不确定这个问题应该出现在Ubuntu网站上还是这里。我把它贴在这里是因为它是关于编程的,但也许它应该被移植 我在Ubuntu上使用gtkmm和defualt GCC工具链,我刚刚从Ubuntu12.04 LTS升级到14.04 LTS,它使用GTK+3.10 我有一个Glade项目文件,它使用Gtk::TextEntry和Gtk::SpinButton小部件。当我从12.04 LTS升级后在Glade中打开项目时,我在尝试保存Glade文件时收到了这条消息。(我没有保存文件-我坚持使用旧文件,

我不确定这个问题应该出现在Ubuntu网站上还是这里。我把它贴在这里是因为它是关于编程的,但也许它应该被移植

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

我有一个Glade项目文件,它使用
Gtk::TextEntry
Gtk::SpinButton
小部件。当我从12.04 LTS升级后在Glade中打开项目时,我在尝试保存Glade文件时收到了这条消息。(我没有保存文件-我坚持使用旧文件,以免损坏某些内容。)

当我构建和运行C++项目时,一些小部件没有被正确渲染(SPORDIT上/下按钮丢失,我放置的标签在位置上倾斜):

在升级之前,这些都可以正常工作

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


运行3.10时,3.2小部件是否存在兼容性问题?格莱德有问题吗?我是不是做错了什么,3.10能抓住,而3.2却没有?为什么会这样?我怎样才能修好它?我不知道问题出在哪里。

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

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

如何准确指定这些标签的位置?在我看来,你只是在使用一个破损的布局,而东西的位置和大小并没有达到应有的水平。此外,旋转按钮向上/向下按钮也没有丢失。这就是旋转按钮右侧的“-”和“+”的作用。@dobey-这就是“-”和“+”的作用他们换了按钮?过去有很好的向上/向下符号。我在Glade->Packing x/y中设置标签的位置。如果他们改变了按钮的外观,那么我就假设布局被破坏了,因此标签被放错了位置,或者3.2中的某些东西没有影响到3.2,或者在3.2中工作不一样。是的,主题改变了。我不确定是因为GTK+本身,还是因为主题,按钮会这样移动。这些标签的位置是如何精确指定的?在我看来,你只是在使用一个破损的布局,而东西的位置和大小并没有达到应有的水平。此外,旋转按钮向上/向下按钮也没有丢失。这就是旋转按钮右侧的“-”和“+”的作用。@dobey-这就是“-”和“+”的作用他们换了按钮?过去有很好的向上/向下符号。我在Glade->Packing x/y中设置标签的位置。如果他们改变了按钮的外观,那么我就假设布局被破坏了,因此标签被放错了位置,或者3.2中的某些东西没有影响到3.2,或者在3.2中工作不一样。是的,主题改变了。我不确定是因为GTK+本身,还是因为主题,按钮会这样移动。为什么Glade会给我那个错误消息?有什么想法吗?如果3.10支持“占位符文本”,为什么Glade会抱怨?我刚刚更新了Glade,但我在常规存储库中已经有了最新版本。Apt什么也没做,我不知道格莱德为什么要抱怨。我在你的截图中也没有看到任何占位符文本被使用的证据。我只想去掉占位符文本属性,因为您已经有了单独的标签。如果您将属性设置为字符串,而不是数字,这可能是问题的一部分,因为spinbuttons中只能输入数字。是的,我在Glade文件中删除了它们。完成。我认为这与我运行应用程序时看到的奇怪有关,但显然不是。为什么Glade会给我那个错误消息?有什么想法吗?如果3.10支持“占位符文本”,为什么Glade会抱怨?我刚刚更新了Glade,但我在常规存储库中已经有了最新版本。Apt什么也没做,我不知道格莱德为什么要抱怨。我在你的截图中也没有看到任何占位符文本被使用的证据。我只想去掉占位符文本属性,因为您已经有了单独的标签。如果您将属性设置为字符串,而不是数字,这可能是问题的一部分,因为spinbuttons中只能输入数字。是的,我在Glade文件中删除了它们。完成。我认为这与我运行应用程序时看到的怪异有关,但显然不是。
[window1:frame1:box1:layout1:spinbutton3] Property 'Placeholder text' of object class 'Text Entry' was introduced in gtk+ 3.2. ]