首页| 论坛| 消息

标题:信号槽的使用
作者:zxwmail
日期:2019-06-09 22:57
内容:

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


#1 [dd759378563 06-09 23:04]
QTimer::singleShot(3000, this, [&]{ui->doubleSpinBox->setValue(111);});
#2 [dd759378563 06-09 23:06]
你是对lambda不了解。 捕获列表里面写个&符号,默认就能捕获到当前类的this指针了。lambda里面的ui-> 隐含的是 this->ui->, 你不写&符号,拿不到this。
#3 [20091001753 06-10 08:08]
Qt 5.9 开始,强制要求编译器支持 C++11,匿名函数就是新特性之一
建议楼主购买 C++11 的新特性介绍书籍,里面不仅全,而且详细
#4 [zxwmail 06-10 10:05]
谢谢涛哥和版主,确实是对lambda不了解,我找本c++11的书看看。

回复 发表
主题 版块