wxpython多个面板_wxpython笔记:Wxpython pannel切换
#!/usr/bin/env python
'''静态文本、可控文本、对话框、GetApp()'''
importwx,time
ID_EXIT=200ID_ABOUT=201
class Frame(wx.Frame): #2 wx.Frame子类
def __init__(self,parent = None,id = -1,title ='系统管理界面'):
wx.Frame.__init__(self,parent,id,title,size=(900,600))
self.panel_Celan1=None
self.panel_Celan2=None
self.panel_Celan3=None
self.panel_Celan1_1=None
self.setupStatusBar()
self.InitCelan()
self.InitButton()#初始化状态栏
defsetupStatusBar(self):#状态栏
sb = self.CreateStatusBar(2) #2代表将状态栏分为两个
self.SetStatusWidths([-1, -2]) #比例为1:2
self.SetStatusText("Ready", 0) #0代表第一个栏,Ready为内容
#timmer
self.timer =wx.PyTimer(self.Notify)
self.timer.Start(1000, wx.TIMER_CONTINUOUS)
self.Notify()#实时显示时间
defNotify(self):
t=time.localtime(time.time())
st= time.strftime('%Y-%m-%d %H:%M:%S', t)
self.SetStatusText(st,1) #这里的1代表将时间放入状态栏的第二部分上
#初始化登陆
defInitButton(self):
self.panel_Celan1= wx.Panel(self, pos=(400, 150), size=(300, 300))
wx.StaticText(self.panel_Celan1,label="Username",pos=(20,20))
wx.StaticText(self.panel_Celan1, label="Password", pos=(20, 50))
self._username=wx.TextCtrl(self.panel_Celan1,pos=(110,15))
self._passwd= wx.TextCtrl(self.panel_Celan1, pos=(110, 45),style=wx.TE_PASSWORD)
self._submit_btn=wx.Button(self.panel_Celan1,label=u'提交',pos=(100,100),size=(50,30))
self.panel_Celan1.Bind(wx.EVT_BUTTON,self.Onclick,self._submit_btn)#处理登陆事件
defOnclick(self,event):globaldenglu_flagif event.GetEventObject()==self._submit_btn:
user=self.GetUsername()
passwd=self.GetPasswd()print(user+":"+passwd)if(user == "wenli"and passwd == "123456"):
denglu_flag=True
self.panel_Celan1.Destroy()
self.panel_Celan1_1=wx.Panel(self, pos=(400, 150), size=(300, 300))
wx.StaticText(self.panel_Celan1_1, label="欢迎登陆", pos=(130, 150))defGetUsername(self):returnself._username.GetValue()defGetPasswd(self):returnself._passwd.GetValue()#初始化侧栏
defInitCelan(self):
self.panel_Celan= wx.Panel(self, pos=(0, 0), size=(200, 800)) #创建侧栏画板
self._background = wx.Image("background.jpg",type =wx.BITMAP_TYPE_ANY,)
self._background= self._background.Rescale(200,150) #改变图像大小
wx.StaticBitmap(self.panel_Celan,-1,wx.BitmapFromImage( self._background)) #显示图像
self._caidan1 = wx.Button(self.panel_Celan, label=u'用户信息', pos=(0, 150), size=(200, 30))
self.panel_Celan.Bind(wx.EVT_BUTTON, self.Onclick_Ce, self._caidan1)
self._caidan2= wx.Button(self.panel_Celan, label=u'图书馆大厅', pos=(0, 180), size=(200, 30))
self.panel_Celan.Bind(wx.EVT_BUTTON, self.Onclick_Ce, self._caidan2)
self._caidan3= wx.Button(self.panel_Celan, label=u'公告', pos=(0, 210), size=(200, 30))
self.panel_Celan.Bind(wx.EVT_BUTTON, self.Onclick_Ce, self._caidan3)#处理侧栏的点击事件
defOnclick_Ce(self,event):globaldenglu_flagif event.GetEventObject() ==self._caidan1:#如果需要显示的地方存在其他面板,删除
ifself.panel_Celan2:
self.panel_Celan2.Destroy()ifself.panel_Celan3:
self.panel_Celan3.Destroy()if notself.panel_Celan1 :if(denglu_flag ==False):
self.InitButton()else:if notself.panel_Celan1_1:
self.panel_Celan1_1= wx.Panel(self, pos=(400, 150), size=(300, 300))
wx.StaticText(self.panel_Celan1_1, label="欢迎登陆", pos=(130, 150))if event.GetEventObject()==self._caidan2:#如果需要显示的地方存在其他面板,删除
ifself.panel_Celan1:
self.panel_Celan1.Destroy()ifself.panel_Celan1_1:
self.panel_Celan1_1.Destroy()ifself.panel_Celan3:
self.panel_Celan3.Destroy()if notself.panel_Celan2 :
self.panel_Celan2= wx.Panel(self, pos=(200, 0), size=(700, 700))if event.GetEventObject() ==self._caidan3:ifself.panel_Celan1:
self.panel_Celan1.Destroy()ifself.panel_Celan1_1:
self.panel_Celan1_1.Destroy()ifself.panel_Celan2 :
self.panel_Celan2.Destroy()if notself.panel_Celan3:
self.panel_Celan3= wx.Panel(self, pos=(400, 150), size=(300, 300))
wx.StaticText(self.panel_Celan3, label="公告", pos=(130, 150))class App(wx.App): #5 wx.App子类
def __init__(self):#如果要重写__init__,必须调用wx.App的__init__,否则OnInit方法不会被调用
wx.App.__init__(self)defOnInit(self):
self.frame=Frame()
self.SetTopWindow(self.frame)
self.frame.Show()returnTrueif __name__=="__main__":
denglu_flag=False
app=App()
app.MainLoop()
wxpython多个面板_wxpython笔记:Wxpython pannel切换相关推荐
- wxpython多个面板_wxpython笔记:wxPython的布局管理实践【嵌入matplotlib、页面切换】...
索引 1.源码 importwximportnumpyfrom matplotlib.backends.backend_wxagg importFigureCanvasWxAgg as FigureC ...
- wxpython多个面板_wxpython:隐藏其中一个拆分窗口面板
我有一个相框wx.拆分窗口有两个面板作为子面板.我想用一个按钮(显示/隐藏按钮)来隐藏其中一个面板,也就是说,第一个面板应该隐藏,第二个面板应该在窗框消失的情况下占据整个框架.再次单击该按钮将显示隐藏 ...
- 用wxpython编写登录界面_用wxPython打造Python图形界面(上)
本文目录: wxPython入门 安装wxPython GUI的定义 事件循环 创建框架应用程序 小部件 有许多图形用户界面(GUI)工具包可以与Python编程语言一起使用.其中三巨头是Tkinte ...
- wxpython 安装_下载和安装wxPython
在编写Python GUI 程序前,需要决定使用哪个 GUI 平台. wxPython 是一个成熟而且特性丰富的包,因此本篇教程将讲述如何安装 wxPython 工具/原料 电脑 wxPython 方 ...
- 电脑上免费的记笔记软件怎么切换皮肤配色方案?
随着社会的发展和科技的不断进步,很多人在工作当中所用到的笔记软件跟前些年相比有了天翻地覆的变化.对于很多年轻人来说,在选择笔记软件的时候,除了考虑他们的功能之外,对外观的要求也非常严格.免费的记笔记软 ...
- wxpython入门_wxpython笔记:Wxpython入门
#!/usr/bin/env python '''静态文本.可控文本.对话框.GetApp()''' importwx,time ID_EXIT=200ID_ABOUT=201 class Frame ...
- wxpython滑动面板_wxpython实现按钮切换界面的方法
本文实例为大家分享了wxpython按钮切换界面的具体实现代码,供大家参考,具体内容如下 #-*- coding:utf-8 -*- import wx class TestFrame(wx.Fram ...
- wxpython文档_wxPython笔记
wxPython简介 wxPython是一个用于创建桌面GUI应用程序的跨平台工具包.wxPython的主要作者是Robin Dunn.使用wxPython,开发人员可以在Windows,Mac和各种 ...
- wxpython滑动面板_wxPython Panel面板的用法
面板是一个容器元素,可以在其上放很多其他的元素,这点类似于 Frame. 我们通常会将窗口上的元素分类,例如图 1 所示的计算器程序,其就可以看做是由三大块组合而成的. 图 1 计算器的结构 可以用使 ...
最新文章
- 读 MySQL 源码再看 INSERT 加锁流程
- 追求极致的AI·OS——AI·OS引擎平台
- UVa122-Trees on the level
- 【bzoj3884】上帝与集合的正确用法 扩展欧拉定理
- Boost:boost::mp11的使用实例
- Codeforces 681C:Heap Operations
- Ubuntu千万不要运行的命令
- selenium选错弹出层的下拉框
- 如何重新安装 Linux 的操作管理套件 (OMS) 代理
- CV Papers|计算机视觉论文推荐周报20200601期
- React-Router4按需加载
- 语言 蜗牛爬树问题_育儿小知识:睡前聊天,也会提升孩子的语言能力!
- PHP trim()的使用
- 【持续更新】实用算法小点总结(怕忘QAQ)
- Moviebooking电影售票系统--用例建模
- html字体随页面大小变化,字体大小随网页大小变化
- 吱口令生成淘宝BP抢购链接
- 网站PC端与wap端适配
- 攻防世界 Ditf misc
- AutoCAD.Net开发问题之:层表事件的响应(续)