You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS Sierra下wxPython按钮不显示、面板背景色无法修改问题

问题解决:wxPython按钮不显示+面板背景色无效

嘿,我一眼就瞅到你代码里的问题啦——这是个超级容易犯的拼写错误!

你看你的MyFrame类里,构造函数写成了__int__,但Python类的构造函数应该是__init__(注意是两个下划线+init+两个下划线)。就因为少写了一个字母i,你后面创建面板、设置背景色、添加按钮的代码根本就没被执行!程序只会调用默认的Frame构造函数,所以你看到的就是一个光秃秃的默认窗口。

修正后的完整代码:

import wx
class MyApp(wx.App):
    def OnInit(self):
        self.frame=MyFrame(None,-1,title="Henry")
        self.SetTopWindow(self.frame)
        self.frame.Show()
        return True
class MyFrame(wx.Frame):
    def __init__(self,parent,id,title):  # 这里把__int__改成__init__
        super(MyFrame, self).__init__(parent,id,title, size=(300, 200))  # 添加初始尺寸让窗口更合适
        self.panel=wx.Panel(self)
        self.panel.SetBackgroundColour(wx.BLACK)
        self.button=wx.Button(self.panel,label="premi",pos=(40,40))
if __name__=="__main__":
    app=MyApp(False)
    app.MainLoop()

额外小建议:

  • 我给Frame加了size=(300,200)参数,这样窗口打开就有合适的大小,不用手动拖拽调整
  • 作为wxPython新手,后续可以学学sizer布局机制,比用pos固定位置更灵活,能适配不同窗口大小和系统

内容的提问来源于stack exchange,提问作者Davide Luciano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:36:31