1.Widget.h中添加以下方法,一定要是槽函数.
public slots:
void test1();
void test2(QString param1);
void test3(QString param1, int a);
QString test4(QString param1);
2.Widget.cpp中实现函数
void Widget::test1()
{
qDebug()<<"执行1...";
}
void Widget::test2(QString param1)
{
qDebug()<<"执行2..." << param1;
}
void Widget::test3(QString param1, int a)
{
qDebug()<<"执行3..."<<param1 << "," << a;
}
QString Widget::test4(QString param1)
{
qDebug()<<"执行4..."<<param1;
return QString("I return %1").arg(param1);
}
3.调用
//正常调用方法
this->test1();
//下面是调用字符串的方法
//无参数,无返回值
QMetaObject::invokeMethod(this, "test1", Qt::DirectConnection);
//一个参数,无返回值
QMetaObject::invokeMethod(this, "test2", Qt::DirectConnection, Q_ARG(QString, "seven"));