#!/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 ='wxPython!'):

wx.Frame.__init__(self,parent,id,title,size=(500,500))

self.setupStatusBar()

self.InitButton()

self.InitMenu()#设置状态栏

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()#处理事件

defOnclick(self,event):if event.GetEventObject()==self._submit_btn:

dlg=LoginDiglog(None,-1)

dlg.ShowModal()

dlg.Destroy()#实时显示时间

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=wx.Panel(self,-1)

wx.StaticText(self.panel,label="Username",pos=(20,20))

wx.StaticText(self.panel, label="Password", pos=(20, 50))

self._username=wx.TextCtrl(self.panel,pos=(85,15))

self._passwd= wx.TextCtrl(self.panel, pos=(85, 45),style=wx.TE_PASSWORD)

self._submit_btn=wx.Button(self.panel,label=u'提交',pos=(20,80),size=(50,30))

self.panel.Bind(wx.EVT_BUTTON,self.Onclick,self._submit_btn)defGetUsername(self):returnself._username.GetValue()defGetPasswd(self):returnself._passwd.GetValue()defInitMenu(self):#主菜单

menubar =wx.MenuBar()#子菜单:退出(Quit)

fmennu =wx.Menu()

fmennu.Append(ID_EXIT, u'退出(&Q)', 'Terminate thr program')

menubar.Append(fmennu, u'文件(&F)') #将子菜单添加到文件(File)中

#子菜单:关于(About)

hmenu =wx.Menu()

hmenu.Append(ID_ABOUT, u'关于(&A)', 'More information about this program')

menubar.Append(hmenu, u'帮助(&H)') #将子菜单添加到帮助(Help)中

self.SetMenuBar(menubar)#绑定子菜单

wx.EVT_MENU(self, ID_EXIT, self.OnMenuExit)

wx.EVT_MENU(self, ID_ABOUT, self.OnMenuAbout)

wx.EVT_CLOSE(self, self.OnCloseWindow)defOnMenuExit(self,event):

self.Close()defOnMenuAbout(self,event):

dlg=AboutDialog(None,-1)

dlg.ShowModal()

dlg.Destroy()defOnCloseWindow(self,event):

self.Destroy()classLoginDiglog(wx.Dialog):def __init__(self,parent,id):#super(LoginDiglog,self).__init__(parent,id,u"显示",size=(200,200))

wx.Dialog.__init__(self, parent, id, '显示', size=(200, 200))

self.app=wx.GetApp()

self.panel=self.app.frame

self._username_dlg=wx.StaticText(self,label=u'用户名:'+self.GetUsername(),pos=(20,20))

self._passwd_dlg=wx.StaticText(self,label=u'密码:'+self.GetPasswd(),pos=(20,50))

wx.Button(self,wx.ID_OK,pos=(20,80))defGetUsername(self):returnself.panel.GetUsername()defGetPasswd(self):returnself.panel.GetPasswd()classAboutDialog(wx.Dialog):def __init__(self,parent,id):

wx.Dialog.__init__(self,parent,id,'About Me',size=(200,200))#BoxSizer为一个盒子,wx.VERTICAL

self.sizer1=wx.BoxSizer(wx.VERTICAL)

self.sizer1.Add(wx.StaticText(self,-1,u'wxPython初级教程'),0,wx.ALIGN_CENTER_HORIZONTAL|wx.TOP,border=20)

self.sizer1.Add(wx.StaticText(self,-1, u'wxPython初级教程'), 0, wx.ALIGN_CENTER_HORIZONTAL | wx.TOP, border=10)

self.sizer1.Add(wx.StaticText(self,-1, u'wxPython初级教程'), 0, wx.ALIGN_CENTER_HORIZONTAL | wx.TOP, border=10)

self.sizer1.Add(wx.StaticText(self,-1, u'wxPython初级教程'), 0, wx.ALIGN_CENTER_HORIZONTAL | wx.TOP, border=10)

self.sizer1.Add(wx.Button(self,wx.ID_OK),0,wx.ALIGN_CENTER|wx.BOTTOM,border=20)

self.SetSizer(self.sizer1)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__":

app=App()

app.MainLoop()

wxpython入门_wxpython笔记:Wxpython入门相关推荐

  1. dubbo入门学习笔记之入门demo(基于普通maven项目)

    注:本笔记接dubbo入门学习笔记之环境准备继续记录; (四)开发服务提供者和消费者并让他们在启动时分别向注册中心注册和订阅服务 需求:订单服务中初始化订单功能需要调用用户服务的获取用户信息的接口(订 ...

  2. wxpython 关闭_wxPython:关闭wxPython程序

    一.正常关闭 wx.App子类的OnExit()方法在最后一个窗口被关闭且在wxPython的内在清理过程之前被调用,所以,可以在OnExit()方法中清理任何创建的非wxPython资源.如果调用了 ...

  3. python入门基本笔记_Python入门基础知识笔记

    点击蓝字"python教程"关注我们哟! 冯诺依曼架构 控制器 运算器 存储器 输入设备 (I) 输出设备 (O) CPU--控制器,运算器 # 运算器只与内存交换数据 内存--存 ...

  4. wxpython入门_wxPython简单入门

    wxPython简介 wxPython 是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的.功能键全的  GUI 用户界面. wxPython 是作为优秀 ...

  5. wxpython入门_wxPython入门

    配置开发环境 1.wxPython官网 https://wxpython.org/ 2.wxPython下载地址 https://wxpython.org/Phoenix/snapshot-build ...

  6. wxpython按钮形状如何修改_Python图形化界面入门教程 - 使用wxPython自定义表

    原标题:Python图形化界面入门教程 - 使用wxPython自定义表 来自: Linux迷 网址:https://www.linuxmi.com/python-gui-wxpython-zidin ...

  7. 嵌入式Linux入门经典笔记

    史上最牛的Linux内核学习方法论     点击下载 我的arm_linux移植笔记     点击下载 S3C2440完全开发流程     点击下载 Linux系统命令及其使用详解完整版     点击 ...

  8. Crypto++入门学习笔记(DES、AES、RSA、SHA-256)

    Crypto++入门学习笔记(DES.AES.RSA.SHA-256) 背景(只是个人感想,技术上不对后面的内容构成知识性障碍,可以skip): 最近,基于某些原因和需要,笔者需要去了解一下Crypt ...

  9. mybatis学习笔记(3)-入门程序一

    2019独角兽企业重金招聘Python工程师标准>>> mybatis学习笔记(3)-入门程序一 标签: mybatis [TOC] 工程结构 在IDEA中新建了一个普通的java项 ...

最新文章

  1. 201671010128 2017-12-17《Java程序设计》之并发
  2. java 调 pro*c
  3. Python根据多个空格Split字符串
  4. post提交的数据几种编码格式
  5. FZU - 2020 计算大组合数取模
  6. 用c语言画滚动的圆,求__C语言实现圆球滚动{高手速来}
  7. Zara带你快速入门WPF(4)---Command与功能区控件
  8. 通过运行示例从WSO2 ESB开始
  9. 在Hive查询中如何显示列名
  10. C++之yaml-cpp开源库的使用笔记
  11. 景安mysql主机_景安虚拟主机使用教程
  12. C#-老生常谈的 值类型与引用类型
  13. CMOS、BIOS介绍
  14. Mac Office如何彻底卸载
  15. 人教版四年级上次计算机教案,人教版四年级上册数学教案
  16. 苹果apple id无法申请开发者帐号问题
  17. 二行代码解决全部网页木马(含iframe/script木马)
  18. php手机验证码开发,php网站、手机验证码开发(手机注册验证)
  19. 元旦贺卡html,元旦新年贺卡怎么做
  20. 西门子1200PLC与V90伺服驱动器 TO控制模式(即工艺对象的方式))

热门文章

  1. 天猫双11凭什么达到1682亿?这些支撑技术或许可以告诉你
  2. Oracle 变量绑定与变量窥视合集系列一
  3. 阻碍物联网腾飞几大难题盘点 看能想出什么对策
  4. 【12期 3月期刊 自荐】
  5. JQuery链式操作简单的菜单列表
  6. 不要和诱惑较劲,而应离得越远越好。!!!
  7. PHP的session阻塞问题
  8. 《鸟哥的linux私房菜-服务器篇 第三版》 RHCA亲授
  9. 在html中三个图片切换,轻松搞定网页中的图片切换
  10. linux不登录用户就关机,Linux无法被远程登录;用户的关机, 重启,注销,新增用户,删除用户...