GTK:如何手动设置TextView的大小?

2 投票
2 回答
2905 浏览
提问于 2025-04-18 11:03

我正在用 Glade 和 Python 从头开始重新制作一个图形用户界面(GUI)。之前是用 Tkinter 做的,我可以设置几个控制台的高度和宽度。

现在,在 GTK(我是新手)中,我找不到合适的方法来指定 TextView 的大小。我想这应该是通过把它放在一个设置了大小的容器里来实现的。请问我该怎么做比较好呢?

这是我的情况:http://pastebin.com/dx07HZnC

还有一个预览:http://www.tiikoni.com/tis/view/?id=24e83d2。你可以看到,textView 小部件的高度非常短。

2 个回答

-2

我看不太懂你的情况,不过我觉得我可以帮你:

import pygtk
pygtk.require('2.0')

import gtk
import pango

class MyGUI:

def __init__( self, title):
     self.window = gtk.Window()
     self.title = title
     self.window.set_title("Title")
     self.window.set_size_request(260, 300)  ***where 260 is Width and 300 is Height***
     self.window.connect( "destroy", self.destroy)
     self.create_interior()
     self.window.show_all()

 def create_interior( self):
     self.mainbox = gtk.VBox()
     self.window.add( self.mainbox)
     # the textview
     self.textview = gtk.TextView()
     self.textbuffer = self.textview.get_buffer()
     self.mainbox.pack_start( self.textview)
     self.textview.show()
     h_tag = self.textbuffer.create_tag( "h", size_points=16, weight=10)
     position = self.textbuffer.get_end_iter()
     self.textbuffer.insert( position, "Text...")

     self.mainbox.show()

def main( self):
    gtk.main()

def destroy( self, w):
    gtk.main_quit()

if __name__ == "__main__":
    m = MyGUI( "TextView example.")
    m.main()
3

PyGTK2

textview = gtk.TextView()
textview.set_size_request(300,200) # W x H
textview.show()
window.add(textview)

撰写回答