我正在使用Glade(GTK#3.20 + C#)中的应用程序界面进行原型设计,并通过CssProvider使用我的CSS样式。我有这个:
问题是我使用GTKLayout作为我的主容器,我认为这是创建UI的错误方法。我正在使用这种类型的容器,因为它使我能够在原型设计期间根据我的需要调整大小和拖动小部件。不好的是,当我调整大小时,小部件卡在应用程序窗口的左上角。我为窗口制作了最小尺寸,但我希望在窗口大小增加时UI可以自适应。您可以在下面看到问题:
我尝试使用Box容器,Grid容器等创建此UI。但我总是遇到同样的问题:所有小部件的大小都是固定的(在原型设计期间在Glade中),看起来不可能用它来创建复杂的UI。
所以,我想让一些有经验的人向我解释一些事情:
答案 0 :(得分:1)
查看不同的containers available,运行gtk-demo
以了解如何构建示例,在现有应用程序上使用gtk-inspector
来了解它们的布局。
您也可以阅读此布局“指南”:
https://python-gtk-3-tutorial.readthedocs.io/en/latest/layout.html
TLDR:使用GtkGrid
。
答案 1 :(得分:0)
GtkLayout不适合拉伸,收缩等。您可能希望将GtkBox设置为GTK_EXPAND(True)
和/或GTK_FILL(True)
。在Glade中选择您的标签,按钮或子窗口小部件,并在包装选项卡下查看。
答案 2 :(得分:0)
我认为在这种情况下,最好的选择是GtkFixed。