2011-07-09 12 views
1

私はラップモードをどのように設定しても、単語/文字/言葉にラップするのを拒否するスクロールウインドウ内にテキストビューを持っています。それは単に、自分自身とその容器のサイズを、それが喜んで広げます。ここに例があります:なぜこの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_CHARのWRAP_WORDを使用するためのもの? – saeedgnu

答えて

2

TextViewのコンテナ(例ではscroll)にサイズリクエストを設定する必要があります。WindowまたはTextViewではなくサイズリクエストを設定する必要があります。

は、以下のことを試してみてください。

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

私はサンプルコードをテストし、それは動作します。ラッピングを開始した後にウィンドウを大きくしてから、もう一度小さくしてみてください。それは間違いなく幾分壊れている。 –

関連する問題