qt 的connect函数示例
时间: 2023-08-28 19:28:10 浏览: 102
好的,以下是一个使用 Qt 的 `connect` 函数的示例:
```cpp
// header file
class MyClass : public QObject
{
Q_OBJECT
public:
explicit MyClass(QObject *parent = nullptr);
public slots:
void mySlot();
};
// source file
MyClass::MyClass(QObject *parent) : QObject(parent)
{
// connect signal and slot
connect(this, &MyClass::mySignal, this, &MyClass::mySlot);
}
void MyClass::mySlot()
{
qDebug() << "mySlot called!";
}
```
在这个示例中,我们定义了一个 `MyClass` 类,其中包含一个 `mySlot` 槽函数。在类的构造函数中,我们使用 `connect` 函数将 `mySignal` 信号与 `mySlot` 槽函数连接起来。此外,我们还需要在类的头文件中添加 `Q_OBJECT` 宏,以便使用 Qt 的信号槽机制。
当 `mySignal` 信号被触发时,与之连接的 `mySlot` 槽函数将会被自动调用。在这个示例中,`mySlot` 槽函数会输出一条调试信息。
需要注意的是,`connect` 函数的第一个参数是信号发送者,第二个参数是信号,第三个参数是槽函数接收者,第四个参数是槽函数。在连接信号和槽函数时,这些参数必须正确地指定。
阅读全文