• 1877阅读
  • 4回复

[提问]信号槽的使用 [复制链接]

上一主题 下一主题
离线zxwmail
 

只看楼主 正序阅读 楼主  发表于: 2019-06-09
  1.     QTimer::singleShot(3000,[]{ui->doubleSpinBox->setValue(111);});
请问上述的代码如何修改才能正确运行?
就是想3秒后设置doublespinbox的值为111.
信号槽的机制还是不太理解,查了也没找到答案。

谢谢。

离线zxwmail

只看该作者 4楼 发表于: 2019-06-10
谢谢涛哥和版主,确实是对lambda不了解,我找本c++11的书看看。
离线20091001753

只看该作者 3楼 发表于: 2019-06-10
Qt 5.9 开始,强制要求编译器支持 C++11,匿名函数就是新特性之一
建议楼主购买 C++11 的新特性介绍书籍,里面不仅全,而且详细
(づ ̄ 3 ̄)づ
离线dd759378563

只看该作者 2楼 发表于: 2019-06-09
你是对lambda不了解。 捕获列表里面写个&符号,默认就能捕获到当前类的this指针了。lambda里面的ui-> 隐含的是 this->ui->, 你不写&符号,拿不到this。
涛哥是个Qml高手,著有《Qml组件化编程》《Qml特效》系列教程,见知乎专栏-Qt进阶之路:https://zhuanlan.zhihu.com/TaoQt
或微信公众号:Qt进阶之路
离线dd759378563

只看该作者 1楼 发表于: 2019-06-09
QTimer::singleShot(3000, this, [&]{ui->doubleSpinBox->setValue(111);});
涛哥是个Qml高手,著有《Qml组件化编程》《Qml特效》系列教程,见知乎专栏-Qt进阶之路:https://zhuanlan.zhihu.com/TaoQt
或微信公众号:Qt进阶之路
快速回复
限100 字节
 
上一个 下一个