2011-12-20 24 views
1

我有一個wxPython(通過wxGlade)應用程序,其中有一個對話框wx.MAXIMIZE_BOX在樣式中設置,但在運行應用程序時不會出現最大化框。wxWidgets對話框沒有得到最大化框

這裏有一個最小的節目表現出的行爲:

#!/usr/bin/env python 

import wx 

class MyDialog(wx.Dialog): 
    def __init__(self, *args, **kwds): 
     kwds["style"] = wx.DEFAULT_DIALOG_STYLE|wx.MAXIMIZE_BOX 
     wx.Dialog.__init__(self, *args, **kwds) 
     self.SetTitle("dialog_1") 
     self.Layout() 

if __name__ == "__main__": 
    app = wx.PySimpleApp(0) 
    wx.InitAllImageHandlers() 
    dialog_1 = MyDialog(None, -1, "") 
    app.SetTopWindow(dialog_1) 
    dialog_1.Show() 
    app.MainLoop() 

注意wx.MAXIMIZE_BOX設置,但是當我運行這個程序,我沒有得到的對話框上的最大化框:

screenshot -- no maximize box shown

這是一個窗口管理器的問題?

有什麼我可以做的最大化框顯示? (我真正的對話具有從日誌文件一堆滾動的文字和更容易點擊最大化比它是手動調整到充滿整個屏幕。)

我使用:

  • 的Linux(Ubuntu的10.04 LTS)
  • 蟒-wxgtk,libwxgtk2.8-0,libwxbase2.8-0:2.8.10.1-0ubuntu1.2
  • 的metacity:1:2.30.1-0ubuntu1.1

回答

3

我在wxWidgets文檔中發現了這個:

「在Unix或Linux下,識別MHM提示的MWM(Motif窗口管理器)或其他窗口管理器應該運行於任何這些樣式(包括wxMAXIMIZE_BOX)才能生效。」

所以這聽起來像它可能是一個窗口管理器的問題。

+0

非常好,謝謝。我在文檔中尋找類似的東西。我的google-fu今天一定很弱。 – bstpierre 2011-12-20 17:25:54

相關問題