在Qt中,可以通过信号与槽机制来调用类外函数。下面是一个示例:
首先,在类的头文件中声明一个信号:
class MyClass : public QObject
{
Q_OBJECT
signals:
void mySignal(int value);
public:
// 其他成员函数和属性...
};
然后,在类的实现文件中定义一个槽函数,并将其连接到信号上:
void externalFunction(int value)
{
// 外部函数的实现代码...
}
MyClass::MyClass()
{
// 连接信号与槽
connect(this, SIGNAL(mySignal(int)), this, SLOT(externalFunction(int)));
}
最后,当需要调用外部函数时,使用 emit 关键字发射信号即可:
void MyClass::someFunction()
{
int value = 10;
// 调用外部函数
emit mySignal(value);
}
这样,在 mySignal
信号被发射时,会触发 externalFunction
槽函数的执行。
内容由零声教学AI助手提供,问题来源于学员提问