关于wx.panel中添加wx.button按钮无显示问题记录
作者:互联网
本次出现按钮不显示的原因为pos坐标理解出错:
1、按钮之所没有出现,是因为将全局坐标作为按钮pos的定位,导致在有限的panel布局内无法显示出按钮;
2、经过调试发现当pos=(-1,-1)时,按钮显示在左上角;
3、不断调整坐标位置,当self.button2与self.button1的pos分别为pos=(-1,100)与pos=(400,100)时self.button2按钮得以显示,随即调整-1为400,发现按钮坐标进入理想区域位置;
4、总结回顾发现,wx.button中pos是基于所属panel的,而不是基于frame的。
self.panel1 = wx.Panel(self,pos=(-1,40),size=(900,150)) self.panel1.SetBackgroundColour("#00afff") #wx.StaticText(panel1,label=dlg.GetValue(),pos=(-1,-1)) wx.StaticText(self.panel1,label=response,pos=(-1,-1)) #wx.StaticText(panel1,label="霸霸是9527",pos=(-1,-1)) self.button1 = wx.Button(self.panel1,wx.NewId(),label="关闭程序",pos=(400,100),size=(70,35)) #绑定按钮事件 self.Bind(wx.EVT_BUTTON, self.OnButtonClick,self.button1) #绑定窗口的关闭事件 self.Bind(wx.EVT_CLOSE,self.OnCloseWindow) #绑定按钮的单击事件 self.Bind(wx.EVT_BUTTON,self.OnCloseMe,self.button1) self.panel2 =wx.Panel(self,pos = (-1,190),size=(900,150)) self.panel2.SetBackgroundColour("#FAAC58") self.button2 = wx.Button(self.panel2,wx.NewId(),label="从心变红",pos=(400,100),size=(70,30)) #绑定按钮事件 self.Bind(wx.EVT_BUTTON, self.OnButtonClick,self.button2) #绑定鼠标位于其上事件 self.button2.Bind(wx.EVT_ENTER_WINDOW,self.OnEnterWindow) #绑定鼠标离开事件 self.button2.Bind(wx.EVT_LEAVE_WINDOW,self.OnLeaveWindow)
标签:Bind,button,pos,button2,按钮,wx,self,panel 来源: https://www.cnblogs.com/babashi9527/p/15980084.html