Qt设计师; 难以将小部件放在正确的父级中

Tac*_*lff 12 qt qt-designer

使用Qt Designer我已经相互制作了几个QFrame,每个都有一个水平布局.他们的样式表预测他们应该没有边距或填充.这意味着在Qt Designers视图和最终结果中,QFrame之间没有空间.

使用拖放我可以将窗口小部件放入窗口,它会显示一条蓝色线条(放置在布局中).但是,无法将另一个QFrame添加到我看不到的QFrame父级(因此可以继续).右侧面板中还有一棵树,但放在父级上会让它自动进入其中一个孩子......

例如,我有这个设置:

QMainWindow
- QWidget
  - QFrame (parent)
    - QFrame (child)
    - QFrame (child)

无论我尝试什么,添加一个新框架给了我:

QMainWindow
- QWidget
  - QFrame (parent)
    - QFrame (child)
    - QFrame (child)
    - QFrame (new child)

但我真的想要:

QMainWindow
- QWidget
  - QFrame (parent)
    - QFrame (child)
    - QFrame (child)
  - QFrame (new parent)

是否有任何我没有发现的功能来准确放置新的小部件?

jke*_*ian 6

您可以使用"对象检查器"窗口,但似乎无法粘贴到具有锁定布局的QFrame中.

所以考虑到你的布局:

QMainWindow
- QWidget
  - QFrame (A)
    - QFrame (B)
    - QFrame (C)
    - QFrame (D)
Run Code Online (Sandbox Code Playgroud)

在Object Inspector窗口中选择QFrame D并剪切它,右键单击QWidget并中断布局(ctrl-0),然后粘贴.然后重新应用布局.

  • 改变布局,添加框架和小部件绝对是一件痛苦的事.根据您要更改的内容,通常需要打破布局.作为一个技巧,有时我使用设计师来创建临时表单/小部件.这可以像剪贴板一样来回切割和粘贴组件. (2认同)

Cal*_*itt 5

我使用的一个解决方法是选择我想要添加的小部件,为该小部件的布局添加边距,拖放小部件,然后再次删除边距.这样,至少我在正确的小部件中得到它.

  • 呸或只是编辑XML.我对设计师感到非常失望. (7认同)