Qt c++11
2015-09-17 09:37
197 查看
借助 Qt 5 的信号槽语法,我们可以将一个对象的信号连接到 Lambda 表达式,例如:
注意这里的 Lambda 表达式接收一个 bool 参数,这是因为
然后正常编译即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | // !!! Qt 5 #include <QApplication> #include <QPushButton> #include <QDebug> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton button("Quit"); QObject::connect(&button, &QPushButton::clicked, [](bool) { qDebug() << "You clicked me!"; }); button.show(); return app.exec(); } |
QPushButton的
clicked()信号实际上是有一个参数的。Lambda 表达式中的
qDebug()类似于
cout,将后面的字符串打印到标准输出。如果要编译上面的代码,你需要在 pro 文件中添加这么一句:
1 | QMAKE_CXXFLAGS += -std=c++0x |
相关文章推荐
- C语言注释函数参数说明:
- C语言头文件和库文件讲解:
- 实现 标砖库中【strcpy】【strcmp】【strcat】
- C语言算法小练习-2
- 面向对象编程与泛型编程---C++primer读书笔记
- C++ 头文件
- C++ 分糖果问题-求一组数的最大公倍数
- C语言关于字符串逆序输出---面试
- C++Primer 第五版 9.3.1节练习
- C++Primer第五版 9.3.6节练习
- C++Primer第五版 9.2.7节练习
- C++Primer 第五版 9.2节练习
- C++Primer第五版 9.2.5节练习
- C++Primer第五版 9.2.3节练习
- C++Primer第五版 9.2.2节练习
- C++Primer第五版 9.2.1节练习
- C++Primer第五版 9.1节练习
- C++Primer第五版 第8章 IO库(练习解答)
- C++Primer第五版 8.3.2节练习
- C++Primer第五版 8.3.1节练习