我对Qt/QML主题还很新,正试图在我的c++业务逻辑中安装一个日志处理程序。以下代码片段安装了一个处理程序并设置了一个特殊类别:
int main(int argc, char *argv[])
{
qInstallMessageHandler(myMessageOutput);
QLoggingCategory mainEx("main.ex");
qCDebug(mainEx) << "debug message";
...
}
结果是Qt后端调用以下安装的消息处理程序:
void myMessageOutput(QtMsgType type, const QMessageLogContext &context,
const QString &msg)
{
...
}
在Qt 5中,也可以直接使用以下方式在QML中编写调试信息:
console.debug("debug message")
在QMessageLogContext中,'category'始终为'qml'。是否可以直接在QML中设置另一个类别?
QMessageLogConext
的其他成员(file,function,line
)来获取更多有关日志记录语句来源的上下文。 - KD07