我有一个QGridLayout
,它有六行中的一些小部件。行1,3和5包含打开文件选择对话框的QLabel
,QLineEdit
和QPushButton
。行2,4和6包含用于向用户呈现验证错误的QLabel
。错误隐藏在下面的图片中。如何防止QGridLayout中的小部件重叠?
当窗口能够占用尽可能多的空间时,它不会出现此问题。但是,当我限制窗口的大小可言,在此列表中的元素,看起来就像这样:
所以我的问题是,我该如何确保在QGridLayout所有qwidgets可以尽可能多的占用他们需要什么空间?
编辑: 继@Avaris'的建议,我打过电话setMinimumSize()
在QGridLayout
(共6行)每个插件,以及可见的元素看起来好多了(感谢,@Avaris!)。但是现在,当我导致验证错误时,错误本身(红色QLabel
)放置在其他小部件上。我可以强制QGridLayout不重叠吗?
下面是它看起来像现在:
您是否将这些小部件的最小尺寸设置为小? – Avaris 2012-04-14 17:22:33
@Avaris,我尝试了你的建议,它适用于可见的元素。然而,其他行(包含隐藏的'QLabel')现在显示在其他元素的顶部。我可以强迫他们都排队吗?谢谢! – James 2012-04-14 19:17:12
我并不是建议你设置最小尺寸:)。我问你以前是否设置过任何东西。如果你没有为你的小部件设置任何大小,他们不应该那么小。你可以发布一些代码吗? – Avaris 2012-04-14 20:57:30