网站怎么换域名,网络黄页进入有限公司,wordpress福利主题,个性化的个人网站文章目录 概述小结 概述
在Qt中#xff0c;slots 是一种特殊的成员函数#xff0c;它们可以与对象发出的信号连接。当信号被触发时#xff0c;连接的槽函数会被调用。
来个简单的示例吧#xff0c;如下图#xff1a;
#include QObject
#include QDebug… 文章目录 概述小结 概述
在Qt中slots 是一种特殊的成员函数它们可以与对象发出的信号连接。当信号被触发时连接的槽函数会被调用。
来个简单的示例吧如下图
#include QObject
#include QDebugclass MyClass : public QObject {Q_OBJECTpublic:MyClass() {// 连接信号和槽connect(this, MyClass::someSignal, this, MyClass::someSlot);}signals:void someSignal(); // 声明一个无参数的信号public slots:void someSlot() { // 声明一个无参数的槽函数qDebug() someSlot called!;}void anotherSlot(int value) { // 声明一个有参数的槽函数qDebug() anotherSlot called with value: value;}
};int main() {MyClass obj;obj.emit someSignal(); // 发出信号obj.anotherSlot(42); // 直接调用槽函数return 0;
}如果对C熟悉可以直接把connect函数改成其他格式如下是lamda表达式
#include QObject
#include QDebugclass MyClass : public QObject {Q_OBJECTpublic:MyClass() {// 连接信号和槽connect(this, MyClass::someSignal, this, [this](){qDebug() someSlot Called!; //1将调用写到lamda中//emit anotherSlot(42); // 2也可以调用另外一个slot函数});}signals:void someSignal(); // 声明一个无参数的信号public slots:// void someSlot() { // 声明一个无参数的槽函数// qDebug() someSlot called!;// }void anotherSlot(int value) { // 声明一个有参数的槽函数qDebug() anotherSlot called with value: value;}
};int main() {MyClass obj;obj.emit someSignal(); // 发出信号obj.anotherSlot(42); // 直接调用槽函数return 0;
}小结
这篇主要写了qt slots函数不熟悉qt经常忘记这个其余的内容对c程序来说就容易驾驭多了。OK下篇写点有用的好玩的内容。