Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 4, 2008 00:08:36

strobe
От:
Зарегистрирован: 2008-11-08
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

PyGTK и русский?

#!/usr/bin/python
# -*- coding: koi8-r -*-

import gtk

def z(*w):
print l.get_text()

w = gtk.Window()
b = gtk.Button("Print")
l = gtk.Entry()
l.set_text(u"привет!")
b.connect("clicked",z )
h=gtk.HBox(2)
h.add(l)
h.add(b)
w.add(h)
w.show_all()

gtk.main()
как сделать, чтобы русский текст из сей формы возвращался в понятной форме т.е unicode



Офлайн

#2 Дек. 4, 2008 00:33:48

strobe
От:
Зарегистрирован: 2008-11-08
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

PyGTK и русский?

и еще на эту тему в документации по pygtk есть пример драг анд дропа - dnd.py, как сделать что бы в консоли писался текст на русском если на это окно кинуть файлик из папки с русскими буквами ? так там получается что то вроде "file:///N:/CPP/image_eng/img4test/%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B0%D1%8F%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0/4.JPG



Отредактировано (Дек. 4, 2008 00:34:52)

Офлайн

#3 Дек. 4, 2008 01:20:41

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

PyGTK и русский?

GTK+ работает строго с UTF-8: l.get_text().decode('utf-8')
Я работаю с PyGTK и в винде и в линухе, если учитывать эту особенность, то проблем не возникает.
Про второй вопрос не знаю. Не приходилось заниматься. Возможно в самой GTK+ есть функции для преобразования escaped (или как его там, quoted?) последовательности в нормальный текст.

По второму вопросу у меня так получилось:

>>> import urllib
>>> url = urllib.unquote('file:///N:/CPP/image_eng/img4test/%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B0%D1%8F%D0%BF%D0%B0%D0%BF%D0%BA%D0%B0/4.JPG')
>>> url
'file:///N:/CPP/image_eng/img4test/\xd1\x80\xd1\x83\xd1\x81\xd1\x81\xd0\xba\xd0\xb0\xd1\x8f\xd0\xbf\xd0\xb0\xd0\xbf\xd0\xba\xd0\xb0/4.JPG'
>>> url.decode('utf-8')
u'file:///N:/CPP/image_eng/img4test/\u0440\u0443\u0441\u0441\u043a\u0430\u044f\u043f\u0430\u043f\u043a\u0430/4.JPG'
Кодировка UTF-8.

..bw



Отредактировано (Дек. 4, 2008 01:38:26)

Офлайн

#4 Дек. 4, 2008 12:14:57

strobe
От:
Зарегистрирован: 2008-11-08
Сообщения: 22
Репутация: +  0  -
Профиль   Отправить e-mail  

PyGTK и русский?

Спасибо большое! то что надо)
я вот гтк по мере не обходимости изучаю в целом доволен …но вот такие штуки иногда ставят в тупик и его доки спасают не всегда даже)



Офлайн

#5 Дек. 4, 2008 14:38:10

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

PyGTK и русский?

> доки спасают не всегда
Доки для хакера последнее дело :-).

p.s. Google по этому поводу выдал функцию glib g_filename_from_uri, я заметил знакомое слово uri и решил погонять urllib, получилось.

..bw



Отредактировано (Дек. 4, 2008 14:42:08)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version