[python] Qt problém s českými verzáklami na MS Win

Martin Glider gliderok na seznam.cz
Pondělí Říjen 2 00:11:29 CEST 2006


Mám problém se zadáváním verzálek s diakritikou na MS Windows. Místo Č mi to píše ˇC, místo Á mi to vloží 'A atd.
Objevuje se to jen na XP. V linuxu to pracuje správně. Knihovna je na obou OS ve verzi Qt3.

from qt import *
app = QApplication([])
wnd = QTextEdit()
wnd.show()
app.setMainWidget(wnd)
app.exec_loop()

Zkoušel jsem si vypisovat eventy:

##ve Windows
## *** stisknutí ´
funkce              typ eventu, číslo eventu
-----------------------------------------------
event                         QKeyEvent   68
keyPressEvent        QKeyEvent   68
event                         QKeyEvent   68
keyReleaseEvent   QKeyEvent   68

## Linux
## *** sekvence ´a
event                             QKeyEvent  0
keyReleaseEvent       QKeyEvent  0
sending IMStart with 0 chars to 0x824dfd8
event                             QIMEvent   -
sending IMEnd with 1 chars to 0x824dfd8, text=á
event                            QIMEvent   -
event                            QKeyEvent  0
keyReleaseEvent      QKeyEvent  0

Je jasné, že ve Windows nefunguje to skládání IMStart + IMEnd. Popis je k tomu dostatečný na http://doc.trolltech.com/3.3/qimevent.html, ale stále nevím jak to do těch Win dostat a proč už to tam není automaticky? Ještě s tím bude možná souviset QInputContext.


Další informace o konferenci Python