Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Tkinter и ввод кириллицы  (Прочитано 2647 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн koreolis

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Tkinter и ввод кириллицы
« : 09 Июня 2011, 22:32:02 »
Проблема с Tkinter. Не происходит ввод кириллицы в поля Text и Entry. Курсор тупо стоит на месте. А латиница вводится без проблем. ubuntu 10.10, python 2.6 "из коробки". python-tk из репов. Буду признателен, если подскажете где копать, поскольку ни в инете, ни на форуме ничего похожего не нашел.

andrey_p

  • Гость
Re: Tkinter и ввод кириллицы
« Ответ #1 : 10 Июня 2011, 05:14:50 »
Код бы программы дал бы, легче было бы намного, чем гадать.

Попробуй второй строкой в скрипте ввести:
# -*- coding: utf-8 -*-

Оффлайн koreolis

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Tkinter и ввод кириллицы
« Ответ #2 : 10 Июня 2011, 11:49:55 »
Да код любой произвольный. Вот хотя бы такой из уроков:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from Tkinter import *

tk1 = Tk()
txt = Entry(tk1)
txt.pack()
tk1.mainloop()
Латиница вводится, кириллица нет. Кодировки тоже все перепробовал. Под windows всё работает нормально. А в ubuntu такое впечатление, что создаваемое окно ничего не знает о другой раскладке клавиатуры, кроме латинской.
« Последнее редактирование: 10 Июня 2011, 11:57:10 от koreolis »

andrey_p

  • Гость
Re: Tkinter и ввод кириллицы
« Ответ #3 : 10 Июня 2011, 11:57:30 »
Ничем не могу помочь. Mint-11 (с Python 2.7) - все работает нормально.

Оффлайн koreolis

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Tkinter и ввод кириллицы
« Ответ #4 : 10 Июня 2011, 12:08:05 »
andrey_p, в любом случае спасибо за внимание к теме.

Пользователь решил продолжить мысль 10 Июня 2011, 12:29:02:
Решил проблему установкой локали utf-8 для приложения.
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from Tkinter import *
import locale

locale.setlocale(locale.LC_ALL, 'ru_RU.UTF8')
tk1 = Tk()
txt = Entry(tk1)
txt.pack()
tk1.mainloop()
« Последнее редактирование: 10 Июня 2011, 12:29:02 от koreolis »

 

Страница сгенерирована за 0.078 секунд. Запросов: 25.