Blad w kompilacji:
'setCodecForTr' is not a member of 'QTextCodec'.
w linii:
QTextCodec::setCodecForTr(QTextCodec::codecForName ("UTF-8"));
Blad w kompilacji:
'setCodecForTr' is not a member of 'QTextCodec'.
w linii:
QTextCodec::setCodecForTr(QTextCodec::codecForName ("UTF-8"));
Jeśli używasz Qt 5 (a przypuszczam, że tak), to spróbuj w ten sposób:
QTextCodec::codecForName("UTF-8")
Dziala. Problem rozwiazany.
Powiedz jaki system i jaki kompilator. I co chcesz osiągnąć...
w Qt5 nie ma setCodecForTr.
To lepiej a zarazem gorzej, bo ustanawiając UTF-8 jedynie słusznym kodekiem zapomnieli, że pod Windows natywnym kodowaniem jest UTF-16 a nie UTF-8.
A żeby było jeszcze śmieszniej, Visual C++ traktuje literały bez L
jako będące w bieżącej stronie kodowej (CP1250 w PL).
Jest takie makro QStringLiteral
ale jest zepsute (nieprawidłowo zaimplementowane pod Windowsem).
Kiedyś po kilku godzinach kombinowania wymyśliłem takie coś:
QString s = QString::fromWCharArray(L"zażółć gęślą jaźń");
ui->pushButton->setText(s);
Działa dobrze pod Qt 5.1.1, QtCreator 2.8.1, kompilator MSVC++ 16.0 z pakietu Windows SDK 7.1