Qt GUI:水平布局的 groupBox 中的东西未对齐

Qt GUI : misaligned things in groupBox with horizontal Layout

很简单:

Ui 文件:

结果:

"Scans to display" 是一个水平布局的 groupBox,它包含两个元素:

一条红线(在屏幕截图上手动添加)标记了 "Scans to display" 组框中这两个元素之间的错位。

注意:右侧的空 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);

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