[C++]'Qt'- nie wyświetla polskich znaków po kompilowaniu.

0

Tak jak w temacie używam Qt Creatora i pomimo, że w kodzie wstawiam linijkę z:

QTextCodec::setCodecForTr (QTextCodec::codecForName ("UTF-8"));

  • to i tak pojawiają się krzaczki. Zna ktoś może na to jakiś inny sposób, prosiłbym o dokładnie opisanie co i jak. Pozdrawiam serdecznie.
0

a dodajesz przed stringami tr?

0

A używasz kodowania UTF-8 w Creatorze, czy w czym tam piszesz? Na windowsie o ile pamiętam to cp1250 jest domyślne

0

a dodajesz przed stringami tr?

Czyli jak? - Dam Tobie przykładową cześć kodu dopisz to co powinło być zawarte:

void MainWindow::createFileActions()
{
   quitAction = new QAction(tr("&Wyjście"), this);
   quitAction->setStatusTip(tr("Wyjdź z programu."));
   quitAction->setShortcut(Qt::CTRL + Qt::Key_Q);

} 

A jak mogę ustawić odpowiednie kodowanie dla Windowsa, bo w Qt Creatorze wybieram w opcjach te kodowanie, ale nadal nic:(

0

No u mnie uft z tego co pamiętam też nie działało. Spróbuj ustawić

QTextCodec::setCodecForTr (QTextCodec::codecForName ("Windows-1250"));

0

W Qt Creatorze: Edycja->Wybierz kodowanie->Przeładuj z kodowaniem

0

Dziękuje wszystkim za pomoc zadziałała ta metoda Blooda:

QTextCodec::setCodecForTr (QTextCodec::codecForName ("Windows-1250"));

__Temat do zamknięcia. __

0

W ramach wyjaśnienia.
Metoda blooda zadziałała, bo zmieniełeś sposób konwertowania znaków (char) w C-stringu na unicode używany w QString!
Jest to proste rozwiązanie, ale nie zalecane!
O wiele lepiej jest wykorzystać funkcjonalność tr(), którego używasz. Czyli powinieneś użyć language tool i wgrać tłumaczenie napisów.
Poczytaj:
http://doc.qt.digia.com/qt/i18n-source-translation.html
http://doc.qt.digia.com/qt/linguist-manual.html


update: aktualizacja powyższych linków na czyjąś prośbę
0

"trochę" odkopie, jak z polskimi znakami w okienku QT ( na dole komunikaty kompilatora) poradzić sobie w wersji 5.0? wykrzacza się cały czas : d

1 użytkowników online, w tym zalogowanych: 0, gości: 1