Set Qt default encoding to UTF-8

В моем приложении Qt мои файлы исходного кода закодированы как UTF-8. Для следующего кода...

QMessageBox::critical(this, "Nepoznata pogreška", "Dogodila se nepoznata pogreška! Želite li zatvoriti ovaj program ?", QMessageBox::Yes, QMessageBox::No);

...когда я показываю это окно сообщения, символ "š" отображается не как "š", а как нечто странное. Это происходит потому, что Qt преобразует все C-строки так, как будто они закодированы с помощью LATIN-1. Для решения этой проблемы я использовал:

QMessageBox::critical(this, QString::fromUtf8("Nepoznata pogreška"), QString::fromUtf8("Dogodila se nepoznata pogreška! Želite li zatvoriti ovaj program ?"), QMessageBox::Yes, QMessageBox::No);

Есть ли способ избавиться от всех вызовов QString::fromUtf8()?

16
задан Samuel Harmer 4 January 2012 в 08:59
поделиться