2010-08-14 3 views
1

Следующий код должен возвращать ширину в пикселях символа 'a' в шрифте по умолчанию; он не делает:Ширина шрифта возвращает неверные значения

import pygtk 
gtk.require20() 
import gtk 

t = gtk.TextView() 
print t.get_style().get_font().width("w") # Always returns -6 
+0

t.get_style.string_width ("тест") не работает, либо, как он возвращает только 6. – aberkowitz

ответ

1

gtk.Style.get_font() устарела, о чем свидетельствует DeprecationWarning вы получаете, когда вы пытаетесь вызвать его; Я предполагаю, что поэтому он не работает. На моем PyGTK нет такой функции, как gtk.Style.string_width().

Вы должны использовать Pango:

import pygtk 
pygtk.require20() 
import gtk 

t = gtk.TextView() 
print t.create_pango_layout('w').get_pixel_size() 
Смежные вопросы