Reputation: 170
I'm trying to log when something is wrong, so I want to write the class info and function name like this:
void MainWindowTest::testMethod()
{
qDebug()<<QString("ClassName is:%0,Function Name is:%1")
.arg(this->metaObject()->className()).arg("how to get method name");
}
How do I do this?
Upvotes: 13
Views: 14218
Reputation: 1
The macro can be used to turn the builtin line expander arg into a string literal.
MainWindowVM::MainWindowVM(QObject* parent) : QObject(parent)
{
QDebug() << QT_STRINGIFY(MainWindowVM);
}
Upvotes: 0
Reputation: 2261
You can use Q_FUNC_INFO
.
Sample code:
qDebug() << "Function Name: " << Q_FUNC_INFO;
Refer to the Qt Documentation — <QtGlobal> - Global Qt Declarations — const char*Q_FUNC_INFO
.
Upvotes: 39