pygtk textview 制表符宽度?

0 投票
1 回答
727 浏览
提问于 2025-04-17 04:21

有没有办法把pygtk的TextView控件的制表符宽度设置成其他的值,而不是默认的8个空格呢?

我现在试了这个代码:textview.set_tabs(pango.TabArray(4, False)),但是我好像误解了文档的意思。那正确的做法是什么呢?

谢谢!

1 个回答

3

请查看 这个文档,关于 pango.TabArray 的内容:你写的 pango.Tabarray(4, False) 是在创建一个包含四个制表符的数组,所有的制表符都在位置0点。你想要的是这样的:

tabs = pango.TabArray(1, True)
tabs.set_tab(0, pango.TAB_LEFT, desired_tab_width)
textview.set_tab(tabs)

不过,desired_tab_width 的值并不是以空格为单位的。你可以查看 set_tab_stops_internal() 这个函数,了解他们是如何计算空格宽度的,代码在 GtkSourceView的这个链接中。

撰写回答