2017-04-03 44 views
0

我在试图弄清QLayouts如何工作时遇到了很多麻烦。基本上,我启动了一个MainWindow项目,然后添加一个新的基于QWidget的表单,其中我将QLineEdits和QLabel放置在一个水平布局中,以用作虚线四输入编辑器。预览效果很好。QCreator中的Qt布局

然后我添加一个QWidget到我的MainWindow类,并将其提升到我的DottedQuadEdit类。看起来不错,如果它不是在一个布局中,但是一旦添加到一个布局,它会崩溃到零大小。

我已经摆弄所有各种尺寸的政策,尺寸设置,布局配置,都没有成功。升级后的课程会很好,直到它进入布局为止,然后在添加到布局时会变得不可见。

我已经探讨了很多教程和Qt文档,但是还没有就布局实际工作方式提出一个合适的解释。

+0

我在StackOverflow上编写了布局教程。你可以在这里看到它们:https://stackoverflow.com/documentation/qt/9380/about-using-layouts-widget-parenting#t=201704031930582621633。也许你可以给我们更多关于你做什么的代码,我们可以谈论它。如果你对我的教程有任何问题,你也可以问我一些问题。 –

回答

0

正如Gabriel所说,显示你的代码将有所帮助。我的猜测是你的QWidget没有在Qt Creator中定义的最小尺寸,这意味着它可以合法地缩小到零尺寸。最小尺寸参数是可以为每个QWidget编辑的属性的一部分;试验那些给它一个有意义的大小。那么你也可以玩这个尺寸是否最小,首选,扩展等等。

当您单独放置它(即不在布局中)时,它会保持拖出时的大小。一旦你把它放到一个布局中,布局管理它的大小,没有最低限度,布局可以自由调整它的大小,一直到没有。

0

您是否设置了添加了QLineEdits和QLabels的基于QWidget的窗体的布局?您还需要指定表单的布局。