如何指定gtk.TextView可以显示的最大行数?

时间:2014-03-23 15:32:24

标签: python textview pygtk

我正在从文件中读取内容并在窗口的Textview中显示内容。我不希望所有行都显示在textview中。我想限制它说,前5行(假设文件包含20行)。

import pygtk
pygtk.require('2.0')
import gtk

class Txtview:
 def __init__(self):
    window = gtk.Window(gtk.WINDOW_TOPLEVEL)
    window.set_resizable(True)  
    window.set_border_width(0)
    box2 = gtk.VBox(False, 10)
    textview = gtk.TextView()
    textbuffer = textview.get_buffer()
    textview.show()
    box2.pack_start(textview)
    infile = open("/newfile.txt", "r")
    if infile:
        string = infile.read()
        infile.close()
        textbuffer.set_text(string)

    window.add(box2)
    window.show_all()

def main():
gtk.main()
return 0       

if __name__ == "__main__":
Txtview()
main()

1 个答案:

答案 0 :(得分:0)

如果阻止到以下形式,则必须更改TxtView构造函数:

if infile:
    lines = 5 if len(infile.readlines()) > 5 else len(infile.readlines())
    string = "\n".join(infile.readlines()[:lines])
    textbuffer.set_text(string)
infile.close()