QT 让两个frame中的单选框对齐
时间: 2024-02-01 17:15:19 浏览: 136
可以使用布局来实现两个frame中的单选框对齐。
首先,将两个frame添加到一个垂直布局中。然后,在第一个frame中添加一个水平布局,并将单选框添加到该布局中。在第二个frame中添加另一个水平布局,并将单选框添加到该布局中。
接下来,对第一个水平布局和第二个水平布局应用相同的布局约束,以使它们具有相同的高度。最后,将两个frame添加到主布局中。
示例代码:
```cpp
QFrame* frame1 = new QFrame;
QFrame* frame2 = new QFrame;
QVBoxLayout* mainLayout = new QVBoxLayout;
QHBoxLayout* layout1 = new QHBoxLayout(frame1);
QHBoxLayout* layout2 = new QHBoxLayout(frame2);
QRadioButton* radio1 = new QRadioButton("Radio Button 1");
QRadioButton* radio2 = new QRadioButton("Radio Button 2");
QRadioButton* radio3 = new QRadioButton("Radio Button 3");
QRadioButton* radio4 = new QRadioButton("Radio Button 4");
layout1->addWidget(radio1);
layout1->addWidget(radio2);
layout2->addWidget(radio3);
layout2->addWidget(radio4);
layout1->setAlignment(Qt::AlignTop);
layout2->setAlignment(Qt::AlignTop);
layout1->setSpacing(10);
layout2->setSpacing(10);
layout1->setMargin(10);
layout2->setMargin(10);
layout2->setContentsMargins(0, 0, 0, 0);
frame1->setLayout(layout1);
frame2->setLayout(layout2);
mainLayout->addWidget(frame1);
mainLayout->addWidget(frame2);
layout1->setContentsMargins(0, 0, 0, 0);
layout2->setContentsMargins(0, 0, 0, 0);
setCentralWidget(new QWidget);
centralWidget()->setLayout(mainLayout);
```
这将在窗口中创建两个frame,每个frame中都有两个单选框,并且这些单选框将对齐。还可以使用布局设计器来更轻松地实现此操作。
阅读全文