Я хотел бы использовать SVG в меню и кнопках вокруг приложения Qt-4.7.Изображения отображаются правильно на платформах Linux и Windows, однако неприятное чтение сообщения ...
couldn't create image from ""
... выводится на консоль, по-видимому, как только одно из этих изображенийзагружен или изменяет состояние (например, выделение или отключение виджета контейнера).В ходе выполнения приложения многие из этих строк выводятся на печать, в результате чего бессмысленный вывод разбирается на приемлемый вывод приложения.
Немного ковыряясь в коде Qt, это, похоже, исходит от svg/qsvghandler.cpp:2680
, где строка содержит следующее.
qDebug()<<"couldn't create image from "<<filename;
Из документации для qDebug
можно подумать, что я мог бы заблокировать это, определив QT_NO_DEBUG_OUTPUT
во время компиляции, но этобудет блокировать только скомпилированные отладочные вызовы приложения, а не тот, что в SVG-библиотеке Qt.
Так что я думаю, что мой вопрос на самом деле состоит из двух частей:
- Как и в заголовке, почемуQt печатать это даже при правильной визуализации SVG?
- Без перекомпиляции Qt или его библиотеки SVG, как я могу запретить Qt печатать это и выводить вывод приложения?
У меня также естьразместил этот вопрос на форумах QtCentre .