1

我已经启动并运行了一个小型 wxPython 程序(Python 版本 2.7、wxPython 2.8),但它只显示灰色屏幕和左上角按钮的一小部分。

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

http://bpaste.net/show/Vq02tHA85pPi3Fm6aUtI/ <--代码在这里

4

2 回答 2

1

问题是育儿问题。您需要将面板的所有小部件设为子级。面板应该是框架的唯一子级。在您的情况下,您将面板和 mediaCtrl 小部件设置为框架的子级。如果您将媒体控件实例更改为以下内容,它应该可以工作:

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

请注意,MediaCtrl 是不可见的。您可能必须将其添加到 sizer 以使其完全正常工作。

于 2013-10-09T13:25:50.783 回答
0

尝试设置绝对:

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

或使用函数 GetBestSize()

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

我在py27中运行成功

于 2013-10-09T06:51:59.447 回答