wxPython程序只显示灰色屏幕

wxPython程序只显示灰色屏幕,python,wxpython,Python,Wxpython,我已经启动并运行了一个小的wxPython程序(Python版本2.7,wxPython 2.8),但它只显示一个灰色屏幕和左上角的一个按钮的一小部分 前几天我遇到了同样的问题,我发现这是因为我运行了self.SetSizer()而不是self.panel.SetSizer()。但现在它正在发生,尽管这次我已经确保避免犯那个错误。我错过了什么 尝试设置绝对值: self.apanel = wx.Panel(self, -1, size=(640, 480)) 或者使用函数GetBestSize

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

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

尝试设置绝对值:

self.apanel = wx.Panel(self, -1, size=(640, 480))
或者使用函数GetBestSize()

我在py27中成功运行

尝试设置绝对值:

self.apanel = wx.Panel(self, -1, size=(640, 480))
或者使用函数GetBestSize()


我在py27中成功运行该问题是一个家长问题。您需要使所有小部件都成为面板的子部件。面板应该是框架的唯一子级。在本例中,您创建了框架的面板和mediaCtrl小部件的子项。如果您将介质控件实例化更改为以下内容,则应能正常工作:

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

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

问题是家长的问题。您需要使所有小部件都成为面板的子部件。面板应该是框架的唯一子级。在本例中,您创建了框架的面板和mediaCtrl小部件的子项。如果您将介质控件实例化更改为以下内容,则应能正常工作:

self.media_control = wx.media.MediaCtrl(self.apanel,
    style=wx.SIMPLE_BORDER,
    szBackend=wx.media.MEDIABACKEND_DIRECTSHOW)
请注意,MediaCtrl不可见。您可能需要将其添加到sizer中,以使其完全正确工作