2013-10-09 70 views
1

我有一個小的wxPython程序(Python版本2.7,wxPython 2.8)啓動並運行,但它不顯示任何內容,只是灰色屏幕和其中一個按鈕的一小部分在左上角。wxPython程序只顯示灰色屏幕

我在前一天遇到了同樣的問題,並且發現它是因爲我運行了self.SetSizer()而不是self.panel.SetSizer()。但即使我這次確保避免犯這樣的錯誤,現在它仍在發生。我在這裏錯過了什麼?

http://bpaste.net/show/Vq02tHA85pPi3Fm6aUtI/ <這裏--code

回答

1

的問題父母問題。您需要製作面板的所有小部件子項。面板應該是框架的唯一孩子。在你的情況下,你製作了面板和框架的mediaCtrl小部件。如果將媒體控制實例更改爲以下內容,則應該起作用:

self.media_control = wx.media.MediaCtrl(self.apanel, 
    style=wx.SIMPLE_BORDER, 
    szBackend=wx.media.MEDIABACKEND_DIRECTSHOW) 

請注意,MediaCtrl不可見。您可能必須將其添加到sizer才能使其完全正確工作。

+0

這個伎倆。謝謝一堆! – cornjuliox

0

嘗試設置絕對:

self.apanel = wx.Panel(self, -1, size=(640, 480)) 

,或者使用功能GetBestSize()

self.apanel = wx.Panel(self, -1, size=self.GetBestSize()) 

我py27成功運行

+0

嘗試過但它仍然無法正常工作。 – cornjuliox