2012-03-27 39 views
6

我想放置一组按钮,以便它们锚定在屏幕的右下角。我的问题是,无论何时调整屏幕大小,按钮都不会固定在右下方,而是停留在当前位置。QT - 将按钮放在右下方

我在水平布局中放置了两个按钮。然后我将这个布局放置在一个网格布局中,该布局包含一个水平和垂直的Spacer。我已经将网格布局layoutSize属性修改为SetMaximumSize。

我做错了什么,这样我可以让我的按钮锚定在右下角?

enter image description here

回答

5

你几乎所有的东西都在这里,但你可能忽略了当你第一次使用Qt Designer时很容易错过的东西。

您的网格布局坐在您的小部件内,具有固定的大小和位置。它也需要通过布局进行管理。如果您查看右上角的对象检查器(包含您的层次结构),则可能会看到带有红色图标的顶层窗口小部件。这表明它不包含布局。你有两个选择来解决这个问题...

  1. 你现有的网格布局放置到另一个主布局(如垂直布局)。您只需在对象检查器 - >布局 - > [选择主布局类型]中右键单击您的顶级小部件。
  2. 让您的网格成为主布局。要做到这一点,你需要删除网格布局,并让你的孩子的物品完全按照你在图片中的方式排列。然后按照上一个选项,右键单击顶级窗口小部件(或空白背景)并选择Lay out - > Grid。这将以最佳的视觉效果将你的小部件弹出到网格中(如果需要,您可以将其修复),并且网格将成为顶层布局。
+0

太好了。非常感谢你 :) – Jon 2012-03-27 18:47:33

1

该网格布局将使放置其他部件挺难的。试试这个:

  1. 添加(从左到右)水平间隔和两个按钮。
  2. 多选所有。
  3. 从Qt Designer(或Qt Creator's)顶部工具栏(不是从左侧的窗口小部件框中)选择“Lay Out Horizo​​ntally”(Ctrl-H)。
  4. 在以前的小部件顶部添加垂直间隔。
  5. 通过点击选择主窗口(现在未选择添加的小部件)。
  6. 从顶部工具栏中选择“垂直布置”(Ctrl-L)。
  7. 完成。
+2

我敢打赌,我可以在6个步骤中完成它! :-P – jdi 2012-03-27 18:08:34

+1

我甚至忽略了???和利润步骤。 – 2012-03-27 18:10:51

+0

如果我不得不焚烧第7步,我只需将它改为:“7.做一个三明治”。 (南方公园参考也+1) – jdi 2012-03-27 18:17:11

0

看来你正在做的正确。忘了将布局应用到中央小部件,对不对?网格布局应该安排在您的中央小部件中。更方便的方法是删除网格布局小部件,并在网格中布置中央小部件;-)