Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 13 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.10.11
Prihlásený: 28.02.16
Príspevky: 7
Témy: 1
Príspevok NapísalOffline : 11.10.2011 16:18

Problém je ten, že ak napíšem niečo takéto, síce to prejde, ale nemám zobrazené znaky s diakritikou:
Kód:
str = QString::fromUtf8("Deň");

Toto mi odmieta skompilovať:
QString str;
Kód:
str = QString::fromUtf8((const char *)str.sprintf("%d. deň v roku", den));

Nefunguje to ani takto:
Kód:
str = QString::fromUtf8(str.sprintf("%d. deň v roku", den));

Túto premennú potom vkladám do QLabel:
Kód:
ui->lblPopis->setText(str);

Predpokladám, že je problém iba v pretypovaní, ale netuším čo s tým. Mohli by ste mi poradiť ako to správne pretypovať? Prípadne, ak by ste mi mohli poradiť, ako to vložiť celé do jedného riadku ui->lblPopis->setText(...).


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 11.10.2011 19:43

Zdrojový kód je naozaj v UTF-8 kódovaní?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.10.11
Prihlásený: 28.02.16
Príspevky: 7
Témy: 1
Príspevok Napísal autor témyOffline : 11.10.2011 19:54

chrono píše:
Zdrojový kód je naozaj v UTF-8 kódovaní?
To nerieš. K riešeniu to nepomôže, ale, aby si mal prehľad:

Je to komplikovanejšie. UI súbory (XML so vzhľadom formulára) je v UTF-8 a CPP zdrojáky sú CP 1250. Čiže ja musím prekonvertovať CP 1250 na UTF-8 a tak to zobraziť. Lenže, ak ako parameter použijem funkciu vracajúcu QString miesto const char *, tak ma kompilátor nepustí ďalej. Potrebujem to pretypovať.

Akože tiež mi to celkom nesedí (malo by to ísť z UTF a nie do UTF), ale keď som skúsil miesto funkcie sprintf dať konštantný reťazec na konverziu fromUtf8, tak to fungovalo.

// pridané po 4 minútach od posledného príspevku

Oprava: V úvodnom príspevku prvý kód funguje (zobrazí sa to správne), ale potrebujem tam napratať funkciu sprintf, s ktorou to nefunguje.


Offline

Skúsený užívateľ
Skúsený užívateľ
C++ - Pretypovanie v Qt

Registrovaný: 11.01.09
Prihlásený: 26.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 11.10.2011 20:21

Takze ak to chces cele v jednom riadku, skus takto:
Kód:
ui->lblPopis->setText( QString::fromUtf8( str.sprintf( "%d. deň v roku", den ).toAscii() ) );


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.10.11
Prihlásený: 28.02.16
Príspevky: 7
Témy: 1
Príspevok Napísal autor témyOffline : 11.10.2011 20:28

Takže to síce funguje (skompiluje to), ale diakritika je v háji.


Offline

Skúsený užívateľ
Skúsený užívateľ
C++ - Pretypovanie v Qt

Registrovaný: 11.01.09
Prihlásený: 26.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 11.10.2011 20:32

Mne to zobrazilo korektne, takze teraz neviem.







_________________
Ak potrebujete pomoc s diagnostikou/opravou vasej elektroniky ( notebook, motherboard, GPU, a ine ), kontaktujte ma cez SS.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.10.11
Prihlásený: 28.02.16
Príspevky: 7
Témy: 1
Príspevok Napísal autor témyOffline : 11.10.2011 20:35

Ako mi inde písali, sprintf podporuje len LATIN-1 a preto mi zdivočelo ň


Offline

Skúsený užívateľ
Skúsený užívateľ
C++ - Pretypovanie v Qt

Registrovaný: 11.01.09
Prihlásený: 26.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 11.10.2011 20:44

Lenze ak to mne funguje, tak zrejme je Chronova otazka na mieste.







_________________
Ak potrebujete pomoc s diagnostikou/opravou vasej elektroniky ( notebook, motherboard, GPU, a ine ), kontaktujte ma cez SS.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.10.11
Prihlásený: 28.02.16
Príspevky: 7
Témy: 1
Príspevok Napísal autor témyOffline : 11.10.2011 20:53

Fico píše:
Lenze ak to mne funguje, tak zrejme je Chronova otazka na mieste.
Zdroják je v CP1250. Môžeš mi poslať tvoj zdroják? Nejako si to uť prispôsobím, aby to šlo.


Offline

Skúsený užívateľ
Skúsený užívateľ
C++ - Pretypovanie v Qt

Registrovaný: 11.01.09
Prihlásený: 26.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 11.10.2011 21:01

Tu mas pre istotu cely projekt: http://www.megaupload.com/?d=B0HXY1OK
Robil som to v linuxe, no aj tak si nie som isty, ci ti to pomoze.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.10.11
Prihlásený: 28.02.16
Príspevky: 7
Témy: 1
Príspevok Napísal autor témyOffline : 11.10.2011 21:09

Fico píše:
Tu mas pre istotu cely projekt: http://www.megaupload.com/?d=B0HXY1OK
Robil som to v linuxe, no aj tak si nie som isty, ci ti to pomoze.
Zrejme bude práve v Linuxe problém. Ja to mám na Windows a ten interne používa vo formulároch UTF-16. V Linuxe je to UTF-8.

// pridané po 4 minútach od posledného príspevku

Takže niečo to pomohlo. Tvoj kód je celý v UTF-8 a môj Qt Creator vo Windows s ním má problém. Nevie správne zobraziť reťazce, keďže očakáva kódovanie CP1250. Keby ho viem prinútiť, aby súbory otváral s UTF-8, možno tú konverziu ani nebude treba.


Offline

Skúsený užívateľ
Skúsený užívateľ
C++ - Pretypovanie v Qt

Registrovaný: 11.01.09
Prihlásený: 26.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 11.10.2011 21:24

Pozri sa do nastaveni editora. Sice mam linux, ale myslim, ze qt-editor bude podobny pre oba systemy, cize sa mozes pozriet, kde sa to nastavuje u mna:
http://www.i.imgur.com/pAbjU.png
http://www.i.imgur.com/J5gBN.png


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 11.10.11
Prihlásený: 28.02.16
Príspevky: 7
Témy: 1
Príspevok Napísal autor témyOffline : 11.10.2011 22:36

Budem tu o pol hodinu a napíšem nové poznatky.

// pridané po 51 minútach od posledného príspevku

Takže veci sa majú takto:

V mojom projekte bolo vo formulároch (UI) kódovanie UTF-8 a v zdrojáku (CPP) kódovanie CP1250. V nastaveniach (tie obrázky, čo si tu dal) som to menil už včera a stále boli súbory v CP1250. Tvoj projekt sa načítal chybne (bol v UTF-8), Qt ho bral zrejme ako CP1250. Potom som zistil, že celý problém s tým, že som nevedel prehodiť zdrojáky na UTF-8 bol v tom, že som nevymazal súbor *.pro.user. Po jeho vymazaní a prekódovaní súborov na UTF-8 (PSPad) je už všetko v poriadku. Lenže mi to stále nezobrazuje korektne. Tvoj projekt ide dobre, takže skúsim zistiť, v čom je problém.

// pridané po 16 minútach od posledného príspevku

TAkže celý môj problém bol v tom, že o pár riadkov nižšie som mal toto:

ui->lblPopis->setText(str);

Toto mi prepísalo dobrý text a ja som bol stále v tom, že mi to nefunguje.


Odpovedať na tému [ Príspevkov: 13 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Pretypovanie z 'Int' do 'double' C++

v Assembler, C, C++, Pascal, Java

1

299

13.01.2021 17:17

Jur_3 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C++ a Dynamické pretypovanie funkcie z DLLky...

v Assembler, C, C++, Pascal, Java

4

759

07.08.2009 22:15

marian_sk Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pretypovanie

v Assembler, C, C++, Pascal, Java

1

755

27.06.2009 8:47

neutronmind Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pretypovanie (prevod typu)

v Technológia .NET

5

2136

07.12.2008 21:41

vyhno Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pretypovanie tzv. Typecasting

v Assembler, C, C++, Pascal, Java

12

935

26.07.2012 20:46

dablik415 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pretypovanie pointeru na void

v Assembler, C, C++, Pascal, Java

1

631

03.10.2009 18:07

plna.hlava Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Mám sa učiť C ++/objective C/ C#?

v Assembler, C, C++, Pascal, Java

5

733

08.07.2014 20:40

XOLOO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hledá se programátor C/C++ pro vesmírné projekty (Praha)

v Ponuka práce

0

1123

10.05.2016 14:59

evolvsys Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. K: PC Literaturu- C++/C#/java/python/ruby/RoR

v Kúpim

0

411

13.05.2014 18:16

expresado Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. rozdiel medzi Borland 3.1 C++ vs Net. C++

v Assembler, C, C++, Pascal, Java

4

577

20.07.2010 12:54

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hladam hracov na C&C Generals Zero Hour

v Počítačové hry

10

1250

07.03.2007 19:22

Spirit Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Naučte se C++ za 21 dní + C++Builder 6

v Assembler, C, C++, Pascal, Java

18

2414

21.05.2010 21:08

Wpegb Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Čo mi treba na programovanie v C/C++

v Assembler, C, C++, Pascal, Java

17

1147

25.09.2011 18:14

reDo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. aky je rozdiel medzi C++ a Visual C++ ?

v Assembler, C, C++, Pascal, Java

8

1964

19.02.2011 22:46

vendo2 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hladame 3x C/C++ Linux developer- projekt 11/2016-2/2017

v Ponuka práce

1

553

24.10.2016 15:28

michalesku Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Darujem knihy o programovaní (HTML, Java, Visual C++, C++ Builder, Android)

v Vymením a darujem

0

431

01.04.2019 11:20

tomasteicher Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra