GtkTextView游标总是在中心线上

时间:2012-07-13 12:17:06

标签: gtk pygtk gtktextview

我有一个GtkTextView,我希望能够将光标垂直居中放在中心。

如果移动光标,文本应向上(或向下)向上滚动,但光标仍应保持在中心位置。

我尝试了几件事:在textview的第一个和最后一个字符上添加一个边距,但是在第一个和最后一个字符后添加文本时会出现问题。如果选择第一行也不好,选择颜色会扩展到“空”房间。

简而言之,我需要:

  1. 在第一行之前添加保证金
  2. 在最后一行之后添加保证金
  3. 将文字滚动到cursor_movetext_changed的中心位置(我目前用
  4. 解决了这个问题)
    cursor_iter = self.TextBuffer.get_iter_at_mark(cursor)
    fflines = round(self.window_height/(2*20))
    cursor_iter.forward_visible_lines(fflines)
    self.TextEditor.scroll_to_iter(cursor_iter, 0.0, True, 0, 0.5)
    

    但是,通过这种方法,我需要在textview的末尾添加几个换行符。因此,如果有人知道更好的解决方案,我会很高兴听到它)

    我在考虑做基于像素的滚动,但我不知道如何解决这个问题。

    我很乐意听到一些建议!

1 个答案:

答案 0 :(得分:1)

显然没有人想出答案。

我终于在某种程度上一起工作了。 它可能不是最干净的代码,但谁在乎呢?

实际上,由于无法在文本框中添加填充,因此它会在文本文件的开头和结尾添加换行符以获得填充。

您可以在此处找到我的实施:Launchpad project for UberWriter

如果您想了解更多信息,请随时通过邮件询问我。

干杯,狼