wxPython程序只显示灰屏

时间:2013-10-09 06:23:44

标签: python wxpython

我有一个小的wxPython程序(Python版本2.7,wxPython 2.8)启动并运行,但除了灰色屏幕和左上角其中一个按钮的一小部分外,它不会显示任何内容。 / p>

前几天我遇到了同样的问题,我发现这是因为我运行了self.SetSizer()而不是self.panel.SetSizer()。但是现在它正在发生,尽管这次我已经确保避免犯这个错误。我在这里错过了什么?

http://bpaste.net/show/Vq02tHA85pPi3Fm6aUtI/< - 此处代码

2 个答案:

答案 0 :(得分:1)

问题是育儿问题。您需要使面板中的所有小部件都成为子元素。小组应该是框架的唯一孩子。在您的情况下,您使面板和mediaCtrl小部件成为框架的子项。如果您将媒体控制实例化更改为以下内容,则应该可以正常工作:

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

请注意,MediaCtrl是不可见的。您可能需要将其添加到sizer中才能使其正常工作。

答案 1 :(得分:0)

尝试设置绝对值:

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

或使用函数GetBestSize()

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

我在py27中成功运行