• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
七喜不加冰
努力努力再努力
博客园    首页    新随笔    联系   管理    订阅  订阅
QT 信号与槽关联的两种方式
//1. 使用QT5灵活方式 可指定任意函数为槽函数,信号重载的辨别使用函数指针
    void (subwindow::*fun1)()=&subwindow::mysubsignal;
    void (subwindow::*fun2)(int,QString)=&subwindow::mysubsignal;


    connect(&b,&QPushButton::released,this,&testwidget::myslot);

    connect(&sub,fun1,this,&testwidget::myslot_others);
    connect(&sub,fun2,this,&testwidget::myslot_others2); //出现二义性 信号出现重载 这样需要函数指针

//2. 使用QT4的宏定义方式 

 connect(&sub,SIGNAL(mysubsignal()),this,SLOT(myslot_others()));
    connect(&sub,SIGNAL(mysubsignal(int,QString)),this,SLOT(myslot_others2(int,QString)));  //SIGNAL 不报错 相比于上边的方式 转换为字符串 槽函数得用SLOT 修饰
    
 //上述方式应当注意,若宏SIGNAL中的函数名写错的话编译器不报错, 另外槽函数的声明应使用SLOT修饰

 

posted on 2019-05-05 14:14  七喜不加冰  阅读(1159)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3