【发布时间】:2011-08-20 11:10:29
【问题描述】:
我想在 Qt-4.7 应用程序周围的菜单和按钮中使用 SVG。图像可以在 linux 和 windows 平台上正确呈现,但是读取的消息令人讨厌...
couldn't create image from ""
... 似乎在这些图像之一加载或更改状态(如突出显示或禁用其容器小部件)后立即打印到控制台。在应用程序的运行过程中,这些行中的许多行都被打印出来了,在合理的应用程序输出周围留下了许多毫无意义的输出。
稍微检查一下 Qt 代码,这似乎来自svg/qsvghandler.cpp:2680,其中该行包含以下内容。
qDebug()<<"couldn't create image from "<<filename;
从qDebug 的文档中,您可能会认为我可以通过在编译时定义QT_NO_DEBUG_OUTPUT 来阻止它,但这只会阻止应用程序的编译调试调用,而不是Qt 的SVG 库中的那个。
所以我想我的问题实际上有两个方面:
- 如标题所示,为什么即使正确渲染 SVG,Qt 也会打印此内容?
- 在不重新编译 Qt 或其 SVG 库的情况下,如何防止 Qt 打印此内容并破坏应用程序的输出?
我也在QtCentre forums上发布了这个问题。
【问题讨论】: