2013-10-09 71 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