Найти - Пользователи
Полная версия: PyGTK и русский?
Начало » GUI » PyGTK и русский?
1
strobe
#!/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
strobe
и еще на эту тему в документации по 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
bw
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
strobe
Спасибо большое! то что надо)
я вот гтк по мере не обходимости изучаю в целом доволен …но вот такие штуки иногда ставят в тупик и его доки спасают не всегда даже)
bw
> доки спасают не всегда
Доки для хакера последнее дело :-).

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

..bw
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB