当前位置: 代码迷 >> python >> 如何指定gtk.TextView可显示的最大行数?
  详细解决方案

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

热度:90   发布时间:2023-07-16 09:45:33.0

我正在从文件中读取内容,并在窗口的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()

如果将block更改为以下形式,则必须更改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()
  相关解决方案