2009-07-13 11 views
2

ノートブックを最新の状態に更新するにはどうすればいいですか?PyGTK/GTKでのノートブックページの追加/削除

私は、基礎となるモデルのデータに応じて、さまざまな数の ページを持つと思われるアプリケーションを持っています。 ノートブックの外観を同期するために、モデルから行が追加/削除されるたびに をリフレッシュしたいと思います。

私はこれを試してみた:

... 
    def get_pagebox(self, label) 
     ... 
     return pagebox 
    def _reinit(self): 
     for child in self.notebook.get_children(): 
      self.notebook.remove(child) 
     for label in self.get_labels(): 
      self.notebook.append(self.get_pagebox(label), label) 
     self.notebook.queue_draw_area(0,0,-1,-1) 
    ... 

それは古いページを削除しますが、新しいものを追加することができません。何が の問題であり、どのようにこれを行うことができると思いますか?

+0

[2012クリーンアップ](http://meta.stackexchange.com/questions/128315/the-great-stack-overflow-tag-question-cleanup-of-2012)の一環として「ノート」タグが削除されました。 –

答えて

2

いいですね。ウィジェットを追加した後に明示的にshow()を実行しようとしましたか?

4

新しいページを追加した後、ノートブックにshow_all()と電話するだけです。 GTK +によって作成されたすべてのウィジェットは、最初は隠されています。 queue_draw_areaコールは必要ありません。