2014-06-25 36 views
1

我正在使用Glade + Python重新开发一个GUI。它以前在Tkinter中完成,我可以设置几个控制台的高度和宽度。GTK:如何手动设置TextView的大小?

现在,在GTK(新手)我无法找到一个适当的解决方案:指定一个大小的TextView。我想它是通过将它嵌套在设置大小的块中来完成的。我最好的选择是什么?

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

和预览:http://www.tiikoni.com/tis/view/?id=24e83d2 正如你可以看到的TextView小部件很短。

+0

可以调用'set_size_request()'上的文本视图的方法。我不确定这是如何转化为glade项目的,但这就是你通常在PyGTK中做的事情。 – user4815162342

+0

你能描述一下这应该是如何改变大小/全屏的吗?如果未指定所需行为,则很难给出建议。 – drahnr

+0

由于我是GTK和Python的新手,目前我不会让用户调整窗口大小。我稍后会看到如何处理它... –

回答

-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() 
1

PyGTK2的

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