gpt4 book ai didi

qt - 如何禁用特定的 QML 调试器警告

转载 作者:行者123 更新时间:2023-12-04 12:45:21 25 4
gpt4 key购买 nike

我不想禁用来自 QML ( as asked in this question) 的所有警告。相反,我想禁用特定类型的警告。在我的例子中,TypeError: Cannot read property of null 警告。

请注意,我收到此警告是因为 Qt bug that affects grandchildren elements during their destruction ,我相信不是因为任何代码错误。在我的例子中,每次更改特定的 GridView 模型时,我都会收到很多这样的警告(10 到 100 秒),因此这些消息在控制台日志中占主导地位。

最佳答案

我认为高级解决方案可能基于安装自定义消息处理程序并拦截所有警告,过滤掉您喜欢的任何警告以不同方式处理并绕过其他人,例如这可以处理你的情况:

// Default message handler to be called to bypass all other warnings.
static const QtMessageHandler QT_DEFAULT_MESSAGE_HANDLER = qInstallMessageHandler(0);
// a custom message handler to intercept warnings
void customMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString & msg)
{
switch (type) {
case QtWarningMsg: {
if (!msg.contains("TypeError: Cannot read property of null")){ // suppress this warning
(*QT_DEFAULT_MESSAGE_HANDLER)(type, context, msg); // bypass and display all other warnings
}
}
break;
default: // Call the default handler.
(*QT_DEFAULT_MESSAGE_HANDLER)(type, context, msg);
break;
}
}

int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
qInstallMessageHandler(customMessageHandler); // install custom msg handler
...
}

关于qt - 如何禁用特定的 QML 调试器警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50522895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com