Qml QObject::connect: No such signal 原因

连接qml信号和槽函数要注意的点

  1. connect 函数中的信号和槽函数不应该带形式参数
QObject::connect(setButton, SIGNAL(qmlbuttonclicked(QVariant)), DB::GetInstance(), SLOT(ConstructAndSetCommmand(QVariant)))  //true

QObject::connect(setButton, SIGNAL(qmlbuttonclicked(QVariant temp1)), DB::GetInstance(), SLOT(ConstructAndSetCommmand(QVariant temp2)))  //false
  1. 在 qml 中声明的信号,参数类型应该用 var
signal qmlbuttonclicked(var anObject)
  1. c++ 槽函数接受的参数类型应该为 Qvariant ,且应该声明到到 slots中
public slots:
    static void ConstructAndSetCommmand(QVariant);
  1. 槽函数做相对应的操作,要弄清楚QVariant 中存的是什么类型,在相对应取出来操作
使用 Qvariant.value<T>() 的方法
QVariantList module_list=module_model.value<QVariantList>();
  1. 其余就是检查函数名和信号名和objectname是否写错了
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈乐乐happy

觉得对你有用的话可以打赏打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值