首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt-designer:扩大窗口不会取代我的项目。

Qt-designer:扩大窗口不会取代我的项目。
EN

Stack Overflow用户
提问于 2014-10-07 08:03:55
回答 3查看 233关注 0票数 1

为了使问题尽可能简单,我在下面准备了一个简单的Qt设计器表单

左边是Tab Widget,右侧是空QWidget,QWidget是GroupBox。Groupbox有一个收音机和按钮(您也可以在对象检查器窗口上看到它们)。选项卡小部件有一个行编辑。中央小部件有一个网格布局,并使用水平qsplitter。

我的问题是,当我扩大窗口,所有的项目(线编辑,无线电按钮,按钮)是在固定位置。下面是我的一个例子:

我想要的是,当窗口扩大的时候,物品应该放在窗口的底部,或者如果它们在中间,那么它们就应该放在中间。(我不想改变按钮/线条的大小)。

我该怎么做呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-10-07 08:14:30

要动态移动的项(窗口调整大小)必须位于布局中。因此,在您已经发布的示例中,您需要两个布局;一个在选项卡小部件内,用于QLineEdit,另一个在GroupBox中,用于单选按钮和按钮。

如果希望单选和按钮水平对齐,可以先将它们放置在水平布局中,然后再将其放置在位于组框中的另一个布局中。

当您开始向布局中添加项目(如按钮)时,您将开始注意到它们可能会被拉伸,因此您可能需要设置小部件的大小策略。

票数 2
EN

Stack Overflow用户

发布于 2014-10-07 08:28:24

如果你想要线编辑是居中的水平,你将必须放置两个水平间隔在每边的线编辑和选择三个在一起,并设置“平地水平”。这可以在Qt设计器的顶部工具栏上找到。

若要始终将其放在选项卡小部件的底部,请在选项卡小部件的行编辑上方放置一个垂直间隔。然后为选项卡小部件选择"Lay垂直“选项。

你的单选按钮和按钮也是如此。将它们保持在水平布局中,必要时使用水平间隔,并将垂直间隔放置到组框中,并将组框的布局属性设置为“垂直放置”。

最重要的是,我建议您在继续之前先阅读一些基本教程。以下是youtube上一个好频道的链接。

https://www.youtube.com/playlist?list=PL2D1942A4688E9D63

票数 2
EN

Stack Overflow用户

发布于 2014-10-07 08:09:25

如果您的tabWidget或GroupBox中没有布局:

您必须在选项卡小部件和组框中设置布局(例如QVBoxLayout)。

它可以使用QtDesigner来完成。它也可以在如下代码中完成:

代码语言:javascript
复制
 QWidget *window = new QWidget;
 QPushButton *button1 = new QPushButton("One");
 QPushButton *button2 = new QPushButton("Two");
 QPushButton *button3 = new QPushButton("Three");
 QPushButton *button4 = new QPushButton("Four");
 QPushButton *button5 = new QPushButton("Five");

 QHBoxLayout *layout = new QHBoxLayout;
 layout->addWidget(button1);
 layout->addWidget(button2);
 layout->addWidget(button3);
 layout->addWidget(button4);
 layout->addWidget(button5);

 window->setLayout(layout);

,但如果您这样做了,那么您希望您的按钮保持在底部:

然后,您必须尝试setRowStretch方法http://qt-project.org/doc/qt-4.8/qgridlayout.html#setRowStretch或查看QSpacerItem。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26231319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档