2009-07-13 4 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)의 일부로 'notebook' 태그가 제거되었습니다. –

답변

2

괜찮아 보입니다. 위젯을 추가 한 후 명시 적으로 show()을 시도 했습니까?

4

새 페이지를 추가 한 후 노트북에서 show_all()으로 전화하면됩니다. GTK +로 만든 모든 위젯은 처음에 숨겨져 있습니다. queue_draw_area 전화는 필요하지 않아야합니다.