在 gtk 中添加具有总高度的 Widget#
Adding a Widget with a total height in gtk#
我正在以编程方式将小部件列表添加到 VBox 容器中。
这工作正常,但我补充说,小部件将占用整个 window 大小,因此如果我只有几个元素,它们会很大。尽管 window.
的大小,我希望它们总是相同的大小
我尝试设置 SizeRequest,但那只能用作最小尺寸。
比我把小部件放在固定容器中并将其添加到 VBox 中。嗯,这有助于固定高度,但它也固定了宽度。并且widgets并没有相互套在下面,而是还是有间距的,好像还是原来那么大。
如何固定小部件的总高度或容器部件的高度?
好吧,解决方案是了解箱子的包装。
这个网站解释的很好:http://www.mono-project.com/docs/gui/gtksharp/widgets/packing-with-boxes/
首先,我必须设置 SizeRequest 并将我的 Item 放入 Alignment Container 中。我没有通过 Add() 将容器添加到 VBox,而是不得不使用 PackStart() 添加它并禁用扩展和填充。
var algn = new Alignment(0,0,0,0);
item.SetSizeRequest (300, 40); //item is the control I want to add
algn.Add (item);
list.PackStart (algn,false,false,0); //list is the VBox
我正在以编程方式将小部件列表添加到 VBox 容器中。 这工作正常,但我补充说,小部件将占用整个 window 大小,因此如果我只有几个元素,它们会很大。尽管 window.
的大小,我希望它们总是相同的大小我尝试设置 SizeRequest,但那只能用作最小尺寸。 比我把小部件放在固定容器中并将其添加到 VBox 中。嗯,这有助于固定高度,但它也固定了宽度。并且widgets并没有相互套在下面,而是还是有间距的,好像还是原来那么大。
如何固定小部件的总高度或容器部件的高度?
好吧,解决方案是了解箱子的包装。
这个网站解释的很好:http://www.mono-project.com/docs/gui/gtksharp/widgets/packing-with-boxes/
首先,我必须设置 SizeRequest 并将我的 Item 放入 Alignment Container 中。我没有通过 Add() 将容器添加到 VBox,而是不得不使用 PackStart() 添加它并禁用扩展和填充。
var algn = new Alignment(0,0,0,0);
item.SetSizeRequest (300, 40); //item is the control I want to add
algn.Add (item);
list.PackStart (algn,false,false,0); //list is the VBox