Portál AbcLinuxu, 12. května 2025 09:31

Dotaz: české znaky v objektech

16.7.2004 22:33 koca | skóre: 8 | blog: Zavorky | Brno
české znaky v objektech
Přečteno: 112×
Odpovědět | Admin
Hi,
mam problem s kodovanim k* objectech, napriklad KListView nebo KLineEdit atd. Jednoduse potrebuji zobrazit ceske znaky, zkousel jsem uz hodne moznosti, ale nemohu to stale spravne zobrazit. Mam napriklad takovyto kod pro pridani polozek do KListView :
void Dictk::VypisSlova(QStirng sl1, QString sl2){
KListViewItem *element;
QTextCodec* codec = QTextCodec::codecForName( "ISO 8859-2" );
QCString encoded_string = codec->fromUnicode( sl1 );
QCString encoded_string2 = codec->fromUnicode( sl2 );
element = new KListViewItem(kListView1, encoded_string, encoded_string2);

Ale misto ceskych znaku je otaznik. Kdyz nepouziji QTextCodec tak se objevi misto ceskych znaku "nesmyslne" znaky.

KDevelop 2.1 QT 3.x KDE 3.1 jadro 2.4

Predem dekuji za odpoved nebo jakykoliv
Koca
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

17.7.2004 13:53 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: české znaky v objektech
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tipol by som to na font, ktory nema tie znaky. Skus ci po zapise do widget-u precitas to iste ako si zapisal. Pripadne skus urobit nieco ako input-line a pozriet ako vyzera to, co tam napises, s diakritikou.
elviin avatar 17.7.2004 22:02 elviin | skóre: 29 | blog: elviin | Plzeň-Praha
Rozbalit Rozbalit vše Re: české znaky v objektech
Odpovědět | | Sbalit | Link | Blokovat | Admin
zkus pripojit
qtextstream.h 
19.7.2004 20:34 koca | skóre: 8 | blog: Zavorky | Brno
Rozbalit Rozbalit vše Re: české znaky v objektech
Odpovědět | | Sbalit | Link | Blokovat | Admin
Neco s fontem to asi bude, ale zkousel jsem vsechny fonty a v zaveru se tam vzdy objevi otaznik. Kdyz ale napriklad do editline napisu neco ja, tak tam hacky jsou. Nesmi to tam vepisovat program a to je problem.

ani qtextstream.h nepomohlo.
koca
20.7.2004 18:00 karlok
Rozbalit Rozbalit vše Re: české znaky v objektech
Odpovědět | | Sbalit | Link | Blokovat | Admin
nevim, jak je to u KDE ,ale ciste s Qt to funguje nasledovne:

int main( int argc, char **argv )
{ QApplication a( argc, argv );
QTextCodec::setCodecForTr(QTextCodec::codecForName("ISO8859-2")
mf = new mainForm();
a.setMainWidget( mf );
mf->show();
a.processEvents();
return a.exec();
);

a pak jiz kdekoliv vlozim jakykoliv cesky text s funkci tr() napriklad

LineEdit->setText( tr("česky") )
21.7.2004 13:06 koca | skóre: 8 | blog: Zavorky | Brno
Rozbalit Rozbalit vše Re: české znaky v objektech
super, konecne reseni, dekuji i pro KDE aplikace to funguje. Ale pro me tak z 50 %. Uz to sice dobre zobrazuje, ale spatne cte.
napriklad: QString neco = LineEdit->text();
v 'neco' nebudou hacky a budou tam zase otazniky.
zkousel jsem i tr(LineEdit..), ale ani to nepomohlo..

koca

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.