我想我有一个独特的问题。gtk/glade展开工具栏
我想创建一个水平工具栏,可以容纳标签,按钮和其他gtk小部件。我想收集尽可能多的信息,但我也需要它为各种屏幕尺寸工作。
最终我试图预测GUI会在更小的屏幕上运行,所以我想使用的大多数小部件实际上都不适合,因为它们会占用太多空间。
但我仍想让它们对用户可用,所以我想我可以有两行或三行小部件。把最常用的顶端。
最终,我希望用户能够在运行时添加不同的小部件,具体取决于他们想要的东西(有点像你有时可以自定义某些程序中的列表标题......例如,Windows资源管理器的文件列表)。
现在,我想要一些小部件占用大量的空间(如果可用并且其中一些大小已固定)。这样,空间被最佳地使用。如果一个人在大屏幕液晶显示器上运行应用程序,他们可以打包更多的小部件,如果没有,他们可以将其删除。
基本上它就像一个流量控制但不同。我正在使用水平方块,但很快意识到了这一点的局限性。主要是我无法调整窗口的大小,因为它的总宽度可能导致应用程序太大而无法放在较小的窗口上。
我试图尽量减少工作量,因为我不想为程序重新实现空旷地。 OTH,我想我可以为不同的设备创建不同的glade界面......可能是最简单的事情。如果用户真的想要自定义界面,他们可以手动完成。它需要额外的编程工作,因为我不得不担心缺少小部件以及所有这些,但应该不那么令人担忧。
虽然我宁愿有一个更有用的方法。有任何想法吗?
构成我的“工具栏”的小部件是图像,按钮,标签,绘图区域和其他一些标准的gtk小部件。有些人需要占用尽可能多的横向空间,而其他人则需要固定大小。所有将具有相同的垂直尺寸。
某些元素将具有固定的位置,如最右和最左而不会改变。
我大概应该是有点更清晰
X Y Z * * * * A B C
* * * * * * * * * *
XYZ和ABC都将是固定的小部件必须显示出来,并到最左边和右边RESP。
- 是我想要配置的小部件。有些人需要扩大规模以利用他们可以获得的最大规模(并与其他同样需要扩展的人分享),其中一些将得到修复。最终,用户应该能够添加和删除*小部件而不发出问题,并在需要时对其进行重新排序。他们添加到许多他们应该流下来,以便X Y Z和A B C小部件总是显示。
您是否熟悉[ToolPalette](https://developer.gnome.org/gtk3/stable/GtkToolPalette.html)? – theGtknerd