wxpython入门_wxpython笔记:Wxpython入门

#!/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()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/266181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#常用加密方式

一、AES加密算法AES算法基于排列和置换运算。排列是对数据重新进行安排,置换是将一个数据单元替换为另一个。AES 使用几种不同的方法来执行排列和置换运算。 AES是一个迭代的、对称密钥分组的密码,它可以使用128、192 和 256 位密钥,并且用 1…

C语言写文件到txt里有屯字,C语言10 文件.ppt

第十章 文件C文件概述文件类型指针文件的打开与关闭文件的读写文件的定位出错的检测赂恰滔氢戳骏市蔫盒少郴害篆汤看拴掳驮泅戈呕压琐憨波褪队敛紫爸戏仅C语言10 文件C语言10 文件10.1 C文件概述文件:存储在外部介质上数据的集合,是操作系统数据管理的单位文件分类按…

java中volatile的使用方式

2019独角兽企业重金招聘Python工程师标准>>> 转载地址: http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html 转载于:https://my.oschina.net/wangfree/blog/122664

python socketio_flask-socketio实现WebSocket的方法

【flask-socektio】之前不知道在哪个场合下提到过如何从web后台向前台推送消息。听闻了反向ajax技术这种模式之后,大呼神奇,试了一下之后发现也确实可以用。不过,反向ajax的代价也很明显,只要客户端还和服务端要有信息交互&#x…

linux文件编程(1)—— open、write、read、lseek、阻塞问题(ps文件操作/文件描述符/重定向原理/缓冲区/标准错误)

参考:linux文件编程(1)—— 常用API之open、write、read、lseek 作者:丶PURSUING 发布时间: 2021-04-08 22:19:28 网址:https://blog.csdn.net/weixin_44742824/article/details/115209134 【Linux】文件操…

最大流自用模板(例题:HDU1532)

三种模板:Edmonds_Karp,Dinic,SAP 例题: Drainage Ditches(HDU1532) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 22365 Accepted Sub…

安卓手机python数据可视化_python 数据可视化

# -*- coding:utf-8 -*-# 异常值处理import pandas as pdaimport numpy as npyimport matplotlibmatplotlib.use(Agg)import matplotlib.pyplot as pylimport iodef index(data):# 输出结果必须为字典outputoutput {}# data pda.read_excel("D:/taobao2.xls")data …

$_SERVER

PHP $_SERVER 变量 $_SERVER 是一个包含诸如头信息(header)、路径(path)和脚本位置(script locations)的数组。它是 PHP 中一个超级全局变量,我们可以在 PHP 程序的任何地方直接访问它。 $_SERV…

linux文件编程(4)—— 用ANSIC标准C库函数进行文件编程:fopen、fread、fwrite、fseek

参考:linux文件编程(5)—— 用ANSIC标准中的C库函数进行文件编程 作者:丶PURSUING 发布时间: 2021-04-11 11:58:25 网址:https://blog.csdn.net/weixin_44742824/article/details/115209680 部分参照&#…

swig封装 c语言函数到python库,python swig 调用C/C++接口

转载:https://www.cnblogs.com/dda9/p/8612068.html当你觉得python慢的时候,当你的c/c代码难以用在python上的时候,你可能会注意这篇文章。swig是一个可以把c/c代码封装为python库的工具。(本文封装为python3的库)文章结构整体看封装只使用py…

Java学习---面试基础知识点总结

Java中sleep和wait的区别① 这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用b的sleep方法,实际上还是a去睡觉,要让b线…

python中的语言特性_python自测——语言特性

语言特性1.谈谈对 Python 和其他语言的区别答:Python 是一门语法简洁优美,功能强大无比,应用领域非常广泛,具有强大完备的第三方库,他是一门强类型的可移植、可扩展,可嵌入的解释型编程语言,属于动态语言。拿 C 语言和 Python 比&…

使用NPOI和委托做EXCEL导出

首先,在用NPOI导出时,学习了邀月这篇文章NPOI根据Excel模板生成原生的Excel文件实例,在这里先行谢过了。 本篇文章在邀月的基本上,做了一些小的改动,加上委托的机制。因为在做导出时,加载模板,下…

全国计算机等级考试题库二级C操作题100套(第63套)

第63套&#xff1a; 给定程序中&#xff0c;函数fun的功能是&#xff1a;有NN矩阵&#xff0c;根据给定的m&#xff08;m<N&#xff09;值&#xff0c;将每行元素中的值均右移m个位置&#xff0c;左边置为0。例如&#xff0c;N3&#xff0c;m2&#xff0c;有下列矩阵 1 2 3…

android 放大镜功能,简单实现Android放大镜效果

利用之前学过的图形图像绘画技术和图片添加特效技术&#xff0c;我们来实现一个Android放大镜的简单应用。最终效果如图具体实现:用来显示自定义的绘图类的布局文件res/layout/main.xml:xmlns:tools"http://schemas.android.com/tools"android:layout_width"fil…

python直方图拟合曲线_在直方图python中拟合非标准化高斯

我有一个暗图像(原始格式)&#xff0c;并绘制图像的图像和分布 . 正如您所看到的那样&#xff0c;在16处有一个高峰&#xff0c;请忽略它 . 我想通过这个直方图拟合高斯曲线 . 我已经使用这种方法来适应&#xff1a;Un-normalized Gaussian curve on histogram . 然而;我的高斯…

nodejs之express入门

首先安装nodejs&#xff0c;官网下载安装包直接安装&#xff0c; 由于node自带npm&#xff0c;所以npm命令直接即可使用 打开cmd&#xff0c;使用npm install -g express-generator安装express 然后express -e webapp 回车 一个express项目就生成了&#xff0c;简单的不能再简单…

全国计算机等级考试题库二级C操作题100套(第64套)

第64套&#xff1a; 给定程序中&#xff0c;函数fun的功能是&#xff1a;将a所指35矩阵中第k列的元素左移到第0 列&#xff0c;第k列以后的每列元素行依次左移&#xff0c;原来左边的各列依次绕到右边。 例如&#xff0c;有下列矩阵&#xff1a; 1 2 3 4 5 1 2 3 4 5 1 2 3 4 …

android 音乐播放器的状态栏通知,Android仿虾米音乐播放器之通知栏notification解析...

通知栏notification是Android中一个很重要的组件&#xff0c;可以在顶部状态栏中存在&#xff0c;用户也可以通过此来操作应用&#xff0c;在Android中只有3.0以上的版本才加入了notification的按钮点击功能。先看一下仿虾米写出来的通知的效果这是一个自定义的notification&am…

mysql 查询语句_SQL语言mysql基础查询语句

单表查询、条件查询、查询并排序、限制结果查询、查询并排名、分组聚合查询、-- DQL操作&#xff0c;数据基本查询语言使用----------------------------------------------------------------------------------------------- -- 创建数据表-- 注释&#xff1a;员工编号&#…