[sisyphus] tkinter + setlocale()

Eugene Vlasov =?iso-8859-1?q?eugene_=CE=C1_ikz=2Eru?=
Пт Мар 25 19:47:39 MSK 2005


Приветствую, Sergey Bolshakov.
В письме от Fri, Mar 25, 2005 at 01:34:12PM +0200 вы пишете:

>> После перехода на python 2.4 заметил следующую неприятную особенность:
>> при попытке использовать в программах с интерфейсом на базе Tkinter
>> простого вызова locale.setlocale(locale.LC_ALL, '') на stderr выдается:

>> error reading package index file /usr/share/tcl/vfs1.3/pkgIndex.tcl:
>> syntax error in expression "[package provide Tcl] < 8.4": extra tokens
>> at end of expression

> Рекомендовал бы проверить целостность пакета tcl-vfs: rpm -V tcl-vfs.
> Впрочем, к setlocale это отношения не имеет.

Все чисто:

eugene ~ $ sudo rpm -V tcl-vfs       
eugene ~ $ 

eugene ~ $ rpm -q tcl-vfs                 
tcl-vfs-1.3-alt4

Похоже, проблема именно в новом python-modules-tkinter, с python-2.3 я
ничего такого не замечал. Да, ошибка происходит не в момент вызова
setlocale, а в момент создания первого объекта Tkinter, будь то Frame или
Button или Tk или наследованный от них объект, но без setlocale никаких
ошибок не выдается.
Есть костыль, который позволяет избежать появления этого сообщения об
ошибке: до вызова setlocale проинициализировать Tk:
tk = Tk()
К сожалению, это решает только косметическую проблему - убирает сообщение
об ошибке, BkSpc в Entry после вызова setlocale() все равно не работает.

-- 
С уважением, Евгений                          mailto:eugvv на altlinux.ru

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20050325/a7605a1e/attachment-0003.bin>


Подробная информация о списке рассылки Sisyphus