QFunctionPointer 函数指针定义示例
时间: 2024-09-23 08:08:32 浏览: 45
QFunctionPointer是一种在Qt库中使用的函数指针类型,它用于存储指向特定类型的函数地址。在Qt中,特别是信号槽系统(Slot-Connection)中,我们可以使用QFunctionPointer来动态连接和解耦功能。
下面是一个简单的QFunctionPointer定义示例:
```cpp
// 定义一个接收int参数并返回void的函数指针
QFunctionPointer<void(int)> myFunction;
// 使用普通函数创建函数指针
void (MyClass::*myMethod)(int) = &MyClass::myMethodImplementation;
myFunction = static_cast<QFunctionPointer<void(int)>>(myMethod); // 将成员函数转化为QFunctionPointer
// 或者使用lambda表达式
auto lambda = [](int value) { qDebug() << "Lambda received:" << value; };
myFunction = lambda;
// 调用函数指针
myFunction(42); // 如果是成员函数,可以关联到某个对象
```
阅读全文