您当前的位置: 首页 > 热点 > > 内容页

每日信息:Qt中的Radio Button

来源:QT教程 2023-04-23 04:34:11

下面是一个简单的Qt Radio Button示例:

main.cpp

#include #include #include #include int main(int argc, char *argv[]){    QApplication a(argc, argv);    QWidget window;    QVBoxLayout *layout = new QVBoxLayout;    QRadioButton *radio1 = new QRadioButton(\"Option 1\");    QRadioButton *radio2 = new QRadioButton(\"Option 2\");    QRadioButton *radio3 = new QRadioButton(\"Option 3\");    layout->addWidget(radio1);    layout->addWidget(radio2);    layout->addWidget(radio3);    window.setLayout(layout);    window.show();    return a.exec();}

上述示例创建了一个窗口,并添加了三个Radio Button。运行该示例后,您将看到一个垂直布局,其中包含三个单选按钮“Option 1”,“Option 2”和“Option 3”。


(相关资料图)

请注意,这里我们使用QVBoxLayout来放置单选按钮。 QVBoxLayout是Qt中的一个布局类,它以垂直方向排列其子部件。

为了使这些单选按钮在逻辑上相关联,您需要将它们分组。可以使用QButtonGroup类来实现此目的。

例如,以下代码片段演示如何将三个单选按钮分组:

#include QButtonGroup *group = new QButtonGroup;group->addButton(radio1);group->addButton(radio2);group->addButton(radio3);

现在,当用户选择其中一个单选按钮时,其他单选按钮将被取消选中状态。您可以使用QButtonGroup的checkedId()方法来获取当前选中的单选按钮的ID。例如:

int selectedId = group->checkedId();

注意,如果没有任何单选按钮被选中,则checkedId()将返回-1。

这是一个更完整的示例,演示如何响应单选按钮的选中事件:

main.cpp

#include #include #include #include #include class MyWidget : public QWidget{public:    MyWidget(QWidget *parent = nullptr)        : QWidget(parent)    {        QVBoxLayout *layout = new QVBoxLayout;        QRadioButton *radio1 = new QRadioButton(\"Option 1\");        QRadioButton *radio2 = new QRadioButton(\"Option 2\");        QRadioButton *radio3 = new QRadioButton(\"Option 3\");        layout->addWidget(radio1);        layout->addWidget(radio2);        layout->addWidget(radio3);        m_group = new QButtonGroup;        m_group->addButton(radio1, 1);        m_group->addButton(radio2, 2);        m_group->addButton(radio3, 3);        connect(m_group, SIGNAL(buttonClicked(int)), this, SLOT(onButtonClicked(int)));        setLayout(layout);    }private slots:    void onButtonClicked(int id)    {        qDebug() << \"Button clicked:\" << id;    }private:    QButtonGroup *m_group;};int main(int argc, char *argv[]){    QApplication a(argc, argv);    MyWidget w;    w.show();    return a.exec();}

在上述示例中,我们创建了一个名为MyWidget的自定义QWidget类,该类包含三个单选按钮和一个QButtonGroup。我们还在构造函数中连接了buttonClicked()信号和onButtonClicked()槽。

当用户单击其中一个单选按钮时,buttonClicked()信号将被发射,并调用onButtonClicked()槽。在这里,我们将简单地打印所选的单选按钮的ID。

【领 QT开发教程 学习资料, 点击下方链接莬费领取↓↓ ,先码住不迷路~】

点击这里:

上一篇 下一篇
x
推荐阅读 更多
每日信息:Qt中的Radio Button

下面是一个简单的QtRadioButton示例:main cpp include include include includeintmain(intargc,char*argv

2023-04-23
爷青回!电影版《灌篮高手》国内上映 国外网易云音乐怎么解除限制-全球新资讯

灌篮高手首映来袭!有多少人的青春回来了?!27年后再见,已为人父、为人母的老粉了。4月20日凌晨,电影版

2023-04-23
图集|阔别三年,飘色巡游重回广州番禺古镇沙湾

文 羊城晚报全媒体记者范晗越图 羊城晚报全媒体记者邓勃曾育文4月22日(农历三月初三),2023年沙湾街“弘

2023-04-23
网上举报违法犯罪网站官网 网络违法犯罪举报网站有用吗 世界快资讯

今天来聊聊关于网上举报违法犯罪网站官网,网络违法犯罪举报网站有用吗的文章,现在就为大家来简单介绍下网

2023-04-23
每日头条!问记者丨第二届文旅博览会上有哪些BGM?

02:264月22日,以“美丽中国美好生活”为主题的第二届中国(武汉)文化旅游博览会在湖北省武汉市开幕。本届

2023-04-23
恒运储能公司和用电与照明公司签署战略合作协议

证券时报e公司讯,记者获悉,4月20日,广州恒运储能科技有限公司(简称“恒运储能公司”)与广州智慧用电与

2023-04-23
紫河车是什么_紫河车的功效是什么_今日快讯

欢迎观看本篇文章,小升来为大家解答以上问题。紫河车是什么,紫河车的功效是什么很多人还不知道,现在让我

2023-04-23
高血稠的症状表现_血稠的症状及治疗

1、血稠是指血液比较粘稠,在医学上叫做高血脂症,会很容易发生血栓。2、经常抽烟喝酒,情绪比较容易激动,

2023-04-22
全球焦点!全省唯一,陇县奶山羊产业入选全国“乡村振兴赋能计划典型案例”

近日,乡村振兴品牌节暨赋能计划发布仪式在北京举行,陇县选送作品“奶山羊产业作为领头羊,助力乡村振兴”

2023-04-22
香港金管局副总裁陈维民:助力国家有序推进人民币国际化-天天速读

香港金管局副总裁陈维民:助力国家有序推进人民币国际化:4月22日,在第五届粤港澳大湾区金融发展论坛上,

2023-04-22