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

[C++]'Qt'- nie wyświetla polskich znaków po kompilowaniu.
DX
  • Rejestracja:ponad 14 lat
  • Ostatnio:prawie 14 lat
  • Postów:23
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.
edytowany 2x, ostatnio: Dreamer1x6xX
BL
  • Rejestracja:ponad 16 lat
  • Ostatnio:5 miesięcy
0

a dodajesz przed stringami tr?


Zapraszam osoby początkujące na indywidualne szkolenia z programowania w JAVA. Dla najlepszych, po zakończonym kursie, praca ze stawką początkową 10-12tyś netto. Kurs trwa od 6 do 24 miesięcy, 1-2h w tygodniu, 150PLN/h. szkolenia kropka java malpaa gmail kropka com
R9
  • Rejestracja:ponad 14 lat
  • Ostatnio:prawie 11 lat
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

DX
  • Rejestracja:ponad 14 lat
  • Ostatnio:prawie 14 lat
  • Postów:23
0

a dodajesz przed stringami tr?

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

Kopiuj
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:(

BL
  • Rejestracja:ponad 16 lat
  • Ostatnio:5 miesięcy
0

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

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


Zapraszam osoby początkujące na indywidualne szkolenia z programowania w JAVA. Dla najlepszych, po zakończonym kursie, praca ze stawką początkową 10-12tyś netto. Kurs trwa od 6 do 24 miesięcy, 1-2h w tygodniu, 150PLN/h. szkolenia kropka java malpaa gmail kropka com
0

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

DX
  • Rejestracja:ponad 14 lat
  • Ostatnio:prawie 14 lat
  • Postów:23
0

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

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

__Temat do zamknięcia. __

edytowany 3x, ostatnio: Dreamer1x6xX
Azarien
nie zamykamy tu tematów ;-)
MarekR22
Moderator C/C++
  • Rejestracja:ponad 17 lat
  • Ostatnio:minuta
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ę

Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.
edytowany 1x, ostatnio: MarekR22
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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.