【发布时间】:2019-02-10 12:46:38
【问题描述】:
很简单:
“扫描显示”是一个水平布局的 groupBox,包含两个元素:
- 左侧,带有三个单选按钮的垂直布局。
- 没错,一个空的分组框。
一条红线(在屏幕截图上手动添加)标记了“扫描以显示”组框中这两个元素之间的错位。
注意:右边的空 groupBox 会在启动时自动填充有编号的复选框,只有那时才知道编号的复选框。
发生了什么事?我该怎么办?
PS : 在右侧的空分组框中创建一些复选框的代码:
m_historyButtons[i] = new QCheckBox();
m_historyButtons[i]->setText(QString::number(i));
m_historyButtons[i]->setObjectName(QString("m_pbDisplayEntry%1").arg(i));
QSizePolicy sizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
sizePolicy.setHorizontalStretch(0);
sizePolicy.setVerticalStretch(0);
sizePolicy.setHeightForWidth(true);
m_historyButtons[i]->setSizePolicy(sizePolicy);
((QGridLayout*)(ui.m_groupBoxHistoryEntries->layout()))->addWidget(m_historyButtons[i], i/m_grid_width, i%m_grid_width);
【问题讨论】:
-
你想摆脱红线吗?你能告诉我们你用复选框填充框的代码吗?
-
在某种程度上,是的,我想摆脱红线(我在屏幕截图上自己画的)。也就是说,如果我把它画在我想要的结果的截图上,我会找不到这样做的余地,因为我想让错位消失。
-
啊好的,现在我明白了这个问题。那你能贴出相关代码吗?
-
没有,都是通过 ui 文件 - 除了在空组内创建复选框。我所做的就是在 groupBox 的布局上添加小部件,并使用 MinimumExpanding 进行尺寸策略......请参阅编辑后的帖子。
标签: c++ qt layout qlayout qgroupbox