2011-07-09 32 views
1

我有一個滾動窗口內的textview,拒絕包裝到words/chars/wordschars,無論我如何設置包裝模式。它只是簡單地擴大了自身和容器的大小。這裏有一個例子:爲什麼這個pygtk TextView拒絕包裝?

import gtk 

window = gtk.Window(gtk.WINDOW_TOPLEVEL) 
window.set_default_size(256,256) 
scroll = gtk.ScrolledWindow() 
scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS) 
view = gtk.TextView() 
view.set_wrap_mode(gtk.WRAP_CHAR) 
scroll.add(view) 
window.add(scroll) 
window.show_all() 
gtk.main() 

我該如何讓它換行?如果它很重要,我需要父窗口可以由用戶調整大小,而不是文本。

+0

也許你想用WRAP_WORD代替WRAP_CHAR? – saeedgnu

回答

2

您需要在TextView的容器(在本例中爲scroll),而不是WindowTextView本身上設置尺寸請求。

嘗試以下操作:

import gtk 

if __name__ == "__main__": 
    window = gtk.Window(gtk.WINDOW_TOPLEVEL) 
    scroll = gtk.ScrolledWindow() 
    scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS) 
    view = gtk.TextView() 
    view.set_wrap_mode(gtk.WRAP_CHAR) 
    scroll.set_size_request(256, 256) 
    scroll.add(view) 
    window.add(scroll) 
    window.show_all() 
    gtk.main() 
0

我剛剛跑你的代碼和文字包裝似乎工作正常。你在運行什麼?我在Ubuntu 11.04上使用PyGTK 2.22。

+0

和你一樣。 :\ – shino

+0

我測試了示例代碼,它的工作原理..種類。嘗試在開始包裝後使窗口變大,然後嘗試再次變小。這絕對有些破碎。 –