按钮组,解决多个按钮问题

在我们实际设计的时候,很多时候都会用到按钮,如果按钮个数过多,要一个一个写槽函数那是一件很麻烦的事情,外加上,很有可能我们的多个按钮需要互相通信,那么这无疑是更加加剧了编写槽函数的代码量。

所以,为了解决多个按钮问题,我们一般使用按钮组这个类,以方便信号处理。

#include<QButtonGroup>

this->buttonGroup = new QButtonGroup();
this->buttonGroup->addButton(pushButton1);
this->buttonGroup->addButton(pushButton2);
this->buttonGroup->addButton(pushButton3);

这样,我们便将3个按钮加入了按钮组。接下来就是分别处理信号。

void (QButtonGroup::*fun)(QAbstractButton*) = &QButtonGroup::bottonCliked;     
QObject::connect(this->buttonGroup,fun,this,&slot);

/*void MainWindow::slot(QAbstractButton* button)                //来分别处理不同信号
{
        if(button == pushButton1)
        {
              do something;
        }      
        if(button == pushButton2)
        {
              do something;
        }
}*/

由于我们的QButtonGroup这个类中的bottonCliked信号是个重载函数,有两种参数,一个是QAbstractButton,另一个是int,所有我们使用显示函数指针来指定调用信号。

如果,按钮个数太多,要一个一个加入按钮组是一件很痛苦的事情,所以我们可以在设计中完美解决这一切,只需选中多个按钮,然后右键,选择加入按钮组就可以了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,239评论 25 709
  • (五)认知老化 #成年晚期的认识活动,尤其感知觉和记忆,总趋势是一系列的退行性变化。 认知老化,随着年龄增长,老年...
    楷歌Kale阅读 5,086评论 1 1
  • 夏日如期而至,我还是逃不过“三月不减肥,四月徒伤悲,五月路人雷,六月男友没”这个悲剧。想想自己平日一见美食便两眼放...
    siuYeuk归期阅读 2,206评论 0 0
  • 谣言一:灵丹妙药能根治高血压 辟谣:这就是睁眼说瞎话,到目前为止,全世界还没有一个灵丹妙药可以根治高血压。正如秦始...
    汇爱居阅读 1,652评论 0 0
  • 想要踏踏实实找个人一起生活, 你喜欢他,他喜欢你,没有秘密, 没有出轨,没...
    冷暖自知爱自己阅读 1,589评论 0 3

友情链接更多精彩内容