在Qt中,按钮组是一种方便的机制,用于管理一组相关的按钮。您可以使用QButtonGroup类来创建和管理按钮组。下面是一个简单的示例代码:
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget window;
QVBoxLayout layout(&window);
QButtonGroup buttonGroup;
// 创建几个按钮并将它们添加到按钮组
QPushButton button1("Button 1");
QPushButton button2("Button 2");
QPushButton button3("Button 3");
buttonGroup.addButton(&button1);
buttonGroup.addButton(&button2);
buttonGroup.addButton(&button3);
// 设置按钮排他性(只能选择一个按钮)
buttonGroup.setExclusive(true);
layout.addWidget(&button1);
layout.addWidget(&button2);
layout.addWidget(&button3);
// 连接槽函数以响应按钮点击事件
QObject::connect(&buttonGroup, static_cast<void(QButtonGroup::*)(QAbstractButton *)>(&QButtonGroup::buttonClicked),
[&](QAbstractButton *button){
qDebug() << "Clicked: " << button->text();
});
window.show();
return app.exec();
}
上述代码创建了一个简单的窗口,并在该窗口中垂直布局了三个按钮。这些按钮被添加到QButtonGroup
实例中,并且设置为互斥状态。通过连接buttonClicked()
信号和槽函数,我们可以在用户点击任何一个按钮时获取其文本。
希望这可以帮助您开始使用Qt中的按钮组。
内容由零声教学AI助手提供,问题来源于学员提问