Portál AbcLinuxu, 24. dubna 2024 23:31


Dotaz: Qt a správný konec řádku

Martin Stiborský avatar 20.12.2009 22:03 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
Qt a správný konec řádku
Přečteno: 379×
Odpovědět | Admin

Dobrý den přeji.

Využívám třídu QTextStream pro zapisování dat do textového souboru, když jsem potřeboval prázdný řádek, vložil jsem jednoduše "\n", jenže takový konec řádku se zrovna moc nelíbí Windows, které by raději "\r\n".

Řeší tohle nějak samotné Qt ? Já jsem o tom nic nenašel.

Takže si asi budu muset napsat funkci, která vrátí správný konec řádku. Nebo má někdo tip na šikovný fígl ? Programuji v Pythonu, systém pod kterým aplikace běží si můžu bez problému zjistit přes modul "platform" metodou "system()", to je jediné řešení, které mě napadlo.

Kvík ..

Řešení dotazu:


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

Odpovědi

20.12.2009 22:28 Jan Trávníček | skóre: 10 | blog: ehonza | Existuje
Rozbalit Rozbalit vše Re: Qt a správný konec řádku
Odpovědět | | Sbalit | Link | Blokovat | Admin
Sice v QT nedělám ale zkoušel si se s tim poprat jako v normálnim C++? cout << endl; v QT asi nějak takhle ale jenom tipuju:
QTextStream str;
str << endl;
To mess up a Linux box, you need to work at it; to mess up your Windows box, you just have to work on it.
Řešení 1× (mimi.vx)
David Watzke avatar 20.12.2009 23:38 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Qt a správný konec řádku
Máš pravdu, je to takhle. Viz dokumentaci: QTextStream & endl ( QTextStream & stream ).
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
Martin Stiborský avatar 20.12.2009 23:40 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
Rozbalit Rozbalit vše Re: Qt a správný konec řádku

Díky.

Kvík ..
Martin Stiborský avatar 21.12.2009 16:26 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
Rozbalit Rozbalit vše Re: Qt a správný konec řádku

Akorát, v Pythonu si s tímhle neškrtnu, fakt už je asi čas začít s C++. Dopsal jsem si tu funkci sám a je to.

Kvík ..
Řešení 1× (mimi.vx)
David Watzke avatar 21.12.2009 22:27 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Qt a správný konec řádku
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
Martin Stiborský avatar 21.12.2009 22:40 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
Rozbalit Rozbalit vše Re: Qt a správný konec řádku

Taky jsem se divil. Uvádí ale asi neimplementuje. Možná ho jen neumím použít. Ale nevidím ho tu ..

In [3]: foo = QtCore.QTextStream()

In [4]: dir(foo)
Out[4]:         
['AlignAccountingStyle',
 'AlignCenter',         
 'AlignLeft',           
 'AlignRight',          
 'FieldAlignment',      
 'FixedNotation',       
 'ForcePoint',          
 'ForceSign',           
 'NumberFlag',          
 'NumberFlags',         
 'Ok',                  
 'ReadCorruptData',     
 'ReadPastEnd',         
 'RealNumberNotation',  
 'ScientificNotation',  
 'ShowBase',            
 'SmartNotation',       
 'Status',              
 'UppercaseBase',       
 'UppercaseDigits',     
 '__class__',           
 '__delattr__',         
 '__dict__',            
 '__doc__',             
 '__format__',          
 '__getattribute__',    
 '__hash__',            
 '__init__',            
 '__lshift__',          
 '__module__',          
 '__new__',             
 '__reduce__',          
 '__reduce_ex__',       
 '__repr__',            
 '__rlshift__',         
 '__rrshift__',         
 '__rshift__',          
 '__setattr__',         
 '__sizeof__',          
 '__str__',             
 '__subclasshook__',    
 '__weakref__',         
 'atEnd',               
 'autoDetectUnicode',   
 'codec',               
 'device',              
 'fieldAlignment',      
 'fieldWidth',          
 'flush',               
 'generateByteOrderMark',
 'integerBase',          
 'locale',               
 'numberFlags',          
 'padChar',              
 'pos',                  
 'read',                 
 'readAll',              
 'readLine',             
 'realNumberNotation',   
 'realNumberPrecision',  
 'reset',                
 'resetStatus',          
 'seek',                 
 'setAutoDetectUnicode', 
 'setCodec',             
 'setDevice',            
 'setFieldAlignment',    
 'setFieldWidth',        
 'setGenerateByteOrderMark',
 'setIntegerBase',          
 'setLocale',               
 'setNumberFlags',          
 'setPadChar',              
 'setRealNumberNotation',   
 'setRealNumberPrecision',  
 'setStatus',               
 'setString',               
 'skipWhiteSpace',          
 'status',                  
 'string']
Kvík ..
Řešení 2× (mimi.vx, Martin Stiborský (tazatel))
21.12.2009 22:54 Sinuhet | skóre: 31
Rozbalit Rozbalit vše Re: Qt a správný konec řádku

Ja teda nevim, proc furt resite std::endl, protoze i v prvnim odkazu, ktery jste sem dal, mate napsano, ze se na Windows automaticky preklada kazdy \n na \r\n pokud stream otevrete s flagem QIODevice::Text.

Martin Stiborský avatar 25.12.2009 10:09 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
Rozbalit Rozbalit vše Re: Qt a správný konec řádku

Určitě už někdo popsal "dukumentační slepotu" :) Čučím do dokumentace, jasně to tam píšou, ale nevidím to. Díky za nakopnutí, funguje to tak, jak má,

Kvík ..

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.