Должны ли qPrintable () или qUtf8Printable () использоваться для сообщений QFAIL () и QVERIFY2 ()? - PullRequest
0 голосов
/ 05 апреля 2020

qPrintable() документация предлагает использовать qUtf8Printable() для qDebug(), qWarning() и др. c. аргументы. QVERIFY2() документация предлагает использовать qPrintable() в качестве аргумента message. Это преднамеренное различие в использовании или просто ошибка обновления документации, когда qUtf8Printable() был представлен в Qt 5.4?

Я заметил, что qUtf8Printable() в коде платформы Qt в основном используется внутри qDebug(), qWarning(), et c. qPrintable() гораздо чаще встречается в QVERIFY2() и QFAIL(), но qUtf8Printable() также используется в некоторых местах.

Я пробовал как UTF-8, так и не-UTF-8 локали на моем GNU / Linux, но не может получить искаженные русские или японские символы из qWarning() или QVERIFY2(), не включая QString message в qPrintable() или qUtf8Printable() (используя системную версию Qt 5.14.1) , Интересно, может ли выбор между этими двумя функциями преобразования иметь значение только для Windows или Ma c OS X?

Если окажется, что qPrintable() следует использовать в QFAIL() и QVERIFY2(), означает ли это, что символы, не поддерживаемые локальной 8-битной кодировкой, не должны передаваться в аргументе message этим макросам?

...