Форум сайта python.su
#!/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()
Офлайн
и еще на эту тему в документации по 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)
Офлайн
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'
Отредактировано (Дек. 4, 2008 01:38:26)
Офлайн
Спасибо большое! то что надо)
я вот гтк по мере не обходимости изучаю в целом доволен …но вот такие штуки иногда ставят в тупик и его доки спасают не всегда даже)
Офлайн
> доки спасают не всегда
Доки для хакера последнее дело :-).
p.s. Google по этому поводу выдал функцию glib g_filename_from_uri, я заметил знакомое слово uri и решил погонять urllib, получилось.
..bw
Отредактировано (Дек. 4, 2008 14:42:08)
Офлайн