Gtk 为不同尺寸的显示器制作应用程序

Gtk 为不同尺寸的显示器制作应用程序,gtk,user-experience,Gtk,User Experience,我一直在开发一个布局如下(大大简化)的应用程序: 屏幕分辨率为1440x900。为按钮等设置了一些最小宽度,以使其更美观(例如,内部标签与按钮边框之间有一定距离)。现在,如果我将窗口大小调整为800x600左右,它会变成这样: +----------------------+ | +----+ | | Main | | Info | | Actions | | And | | | | | | Go |

我一直在开发一个布局如下(大大简化)的应用程序:

屏幕分辨率为1440x900。为按钮等设置了一些最小宽度,以使其更美观(例如,内部标签与按钮边框之间有一定距离)。现在,如果我将窗口大小调整为800x600左右,它会变成这样:

+----------------------+
|         +----+       |
| Main    |    | Info  |
| Actions |    | And   |
|         |    |       |
| Go      |    | Forms |
| Here    |    |       |
|         +----+       |
+----------------------+
这不是很漂亮。中间面板变小的原因是两边的标签无法收缩

问题是,如何让gtk缩放窗口内的所有内容(如图像、字体等)?

如果这样的功能不存在,我有什么选择可以使窗口内的所有内容(或至少字体大小)变小或变大,而不必手动更改每个小部件?

Gtk不允许您在窗口中自动“缩放”任何内容。这也是一个坏主意,因为您不知道窗口会有多小(不仅因为屏幕分辨率,还因为用户手动调整窗口大小)


我建议你重新设计你的布局。在没有真实屏幕截图的情况下建议解决方案是很复杂的,但是可能可以在窗口顶部替换主要操作。

使用包含主要操作的工具栏,并将其他操作放在菜单栏中。这将为交互式图形提供更多空间。信息和表单,如果不是每时每刻都需要的话,可以在选项卡式视图中,或者在弹出窗口中。如果没有屏幕截图,很难说出更多信息。

例如,在检查屏幕分辨率后,是否可以调用使用小于当前主题已指定属性的
font size
属性的函数?是的,这是可能的,但我认为这不是一个好主意。如果在较小的屏幕中设置较小的字体,结果可能无法读取。不管怎样,也许你可以赢得一些空间,使一个或两个侧面面板隐藏,并通过快捷键访问。我明白了。这是有道理的,我会考虑一下。也许像gimp一样,我可以在3个窗口中打开应用程序!我不太喜欢那种布局。我更喜欢完全隐藏面板,并允许通过应用程序菜单中的选项或/和键绑定显示面板。
+----------------------+
|         +----+       |
| Main    |    | Info  |
| Actions |    | And   |
|         |    |       |
| Go      |    | Forms |
| Here    |    |       |
|         +----+       |
+----------------------+