Portál AbcLinuxu, 10. května 2025 21:43

Dotaz: PyKDE4 a locale

12.2.2014 23:08 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
PyKDE4 a locale
Přečteno: 137×
Odpovědět | Admin
zdravím,

Nedávno jsem ačal dráždit pythona bosou nohou, a narazil jsem na potíž s GUI. Stručně řečeno, mrší mi češtinu. Domnívám se, že problém tkví v tom, že v hlavní aplikaci (je to v podstatě jen kostra - sotva začínám) python neví, že má mít české prostředí, ale možná se mýlím. Prosil bych o radu nebo odkazy (i když řešením téhle prkotiny trávím už 3 dny - ani na python.org ani na py.cz mi zatím nikdo neodpověděl, tak už nevím, kam se obrátit..)

import sys, os, locale
from PyQt4 import QtGui
from mainwindow import Ui_MainWindow
from PyKDE4.kdeui import *
from PyKDE4.kdecore import *

...
...
def main():
    kde_locale = KGlobal.locale()
    print kde_locale.language()
### print vrátí en_US
    print locale.getlocale()
### print vrátí ('cs_CZ', 'UTF-8') 

Je to tak správně ? Vytvořené GUI totiž jak jsem již psal, má zmršenou češtinu, a když v aplikaci spustím dialog QtGui.QFileDialog.getSaveFileName, vyrazí na konzoli
KGlobal::locale(): Warning your global KLocale is being recreated with a valid main component 
instead of a fake component, this usually means you tried to call i18n related functions before 
your main component was created. You should not do that since it most likely will not work
ale češtinu má ten dialog dobrou. Musím říct, že prozatím ne zcela rozumím mechanismu, jak to locale pracuje, tím pádem nevím, jak vytvořit " main component instead of a fake component ..."

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

Odpovědi

12.2.2014 23:14 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
Rozbalit Rozbalit vše oprava
Odpovědět | | Sbalit | Link | Blokovat | Admin
QtGui.QFileDialog.getSaveFileName je také anglicky, ne česky, jak jsem uvedl

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.