Qt中比较核心的内容就是其信号与槽,但是目前从使用Qt的版本不同,其信号与槽的机制也是略有不同的,在此次的demo练习中,发现用以下方式连接时,会报错:
出现这种问题后,通过查手册,换成宏的形式(SINGAL/SLOT)虽然不报错了,但是功能是无法实现的,也就是说信号和槽其实还是没有匹配的,想想之前信号和槽出现问题大部分情况都是参数的坑,好嘛,知道坑在哪里总得把脚伸进去丈量丈量深浅。
原来是因为valueChanged信号是有重载的,而编译器并不能知道到底选择哪个信号,因此就会报错。
解决方法:可以在connect中针对信号进行强制类型转换
书写方式:connect(信号发送者,static_cast<返回值类型 (类:: *)(参数)>(&类::函数名),信号接受者,槽函数);
针对上述报错进行修改为:
不报错了,功能也正常了。
希望我的分享能够帮助遇到同样问题的你。
我是小王,祝您生活愉快,吃嘛嘛香~