2011-08-14 89 views
0

我正在與Glade一起使用PyGTK製作一個簡單的GUI應用程序。我有兩個窗口,其中一個僅在按下按鈕時才顯示。重新打開的PyGtk窗口爲空

def on_preview_clicked(self, widget): 
      print "You clicked the Preview button" 
      prev = self.builder.get_object("previewWindow") 
      prev.show() 

該窗口工作正常,但如果我關閉它,並嘗試再次打開它,它將變爲空。 我在谷歌上發現,它可能是因爲我所指的窗口被「銷燬」,所以我讓窗口隱藏起來。

def hide_preview(self, widget): 
      print "Hide it!" 
      prev = self.builder.get_object("previewWindow") 
      prev.hide() 
      return True 

這沒有做什麼,窗戶仍然第二次出現空。 我錯過了什麼?

+2

你能創建一個展示這個問題的最小測試用例嗎?也許你會遇到[此問題](http://faq.pygtk.org/index.py?req=show&file=faq10.013.htp)或其他內容,但是如果沒有更多信息,很難說。通常,執行hide()和show()應該允許窗口小部件保留在窗口中。 – dumbmatter

回答

0

如果沒有工作測試用例,很難確定,但請嘗試將其從show()更改爲show_all(),以確保顯示窗口的所有子部件。

+0

我會嘗試這個作爲兒子,因爲我的工作。如果它不起作用,我會發佈一個完整的例子。 –