gtk_window_set_default_size()
根据像素调整窗口大小。如果我想根据 x 个字符调整它的大小,并且可能考虑到字体大小,我该怎么做?
从我在互联网上收集的搜索结果来看,gtk_window_set_geometry_hints()
似乎也是基于像素的。
gtk_window_set_default_size()
根据像素调整窗口大小。如果我想根据 x 个字符调整它的大小,并且可能考虑到字体大小,我该怎么做?
从我在互联网上收集的搜索结果来看,gtk_window_set_geometry_hints()
似乎也是基于像素的。
您始终可以通过从字体中获取近似字符宽度来将字符转换为像素。
从相关的小部件(例如文本视图或包含您真正关心的字符的任何东西)开始,调用gtk_widget_get_pango_context
,然后pango_context_load_font
获取字体,pango_font_get_metrics
获取字体指标,最后pango_font_metrics_get_approximate_char_width
除以PANGO_SCALE
获取字符宽度。在 PyGTK 中演示:
import gtk, pango
char_count = 80 # how many characters you have
w = gtk.Window() # here you'd use another widget
ctx = w.get_pango_context()
metrics = ctx.load_font(ctx.get_font_description()).get_metrics()
char_width_pango = metrics.get_approximate_char_width()
pixel_count = char_count * char_width_pango / pango.SCALE
print pixel_count