1

非常简单 :

ui文件: 在此处输入图像描述

结果 : 在此处输入图像描述

"Scans to display" 是一个水平布局的 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);
4

1 回答 1

4

Qt 组合框在顶部、框架之外为组合框标题留出了一些空间。为避免这种情况,如果您不需要标题,请改用 QFrame。框架内新创建的复选框将保持相互排斥的行为。

于 2018-09-05T14:21:20.473 回答