Python GUI设计 PythonWx
WxPython 应用程序组成:
每一个WxPython应用程序,都有一个应用程序对象。这个应用程序对象拥有至少一个根窗口,这是WxPython程序的必须部分,另外在应用程序对象中实现一个事件循环处理,将处理窗口和其构件的事件。
import wx
class MyFrame(wx.Frame):def __init__(self,parent):wx.Frame.__init__(self,parent,-1,'hello word',size=(300,300))panel = wx.Panel(self)size = wx.BoxSizer(wx.VERTICAL)panel.SetSizer(size)txt = wx.StaticText(panel,-1,'heelo word')size.Add(txt,0,wx.TOP|wx.LEFT,100)self.Centre()
class MyApp(wx.App):def OnInit(self):self.frame = MyFrame(None)self.frame.Show(True)return Trueapp = MyApp()
app.MainLoop()
--------------------------------
事件的绑定和处理:
Bind(event,handler,soure = None,id=wx.ID_ANY,id2,wx.ANY)
event 事件类型
handler 事件处理函数
import wx
class MyFrame(wx.Frame):def click(self,event):print 'quit'self.Close()def __init__(self,parent):wx.Frame.__init__(self,parent,-1,'hello word',size=(300,300))panel = wx.Panel(self)size = wx.BoxSizer(wx.VERTICAL)panel.SetSizer(size)txt = wx.StaticText(panel,-1,'heelo word')size.Add(txt,0,wx.TOP|wx.LEFT,100)button = wx.Button(panel,-1,"quit")size.Add(button,0,wx.TOP|wx.LEFT)self.Bind(wx.EVT_BUTTON, self.click, button, -1, -1)self.Centre()
class MyApp(wx.App):def OnInit(self):self.frame = MyFrame(None)self.frame.Show(True)print 'init--',self.frame.GetId()return Trueapp = MyApp()
app.MainLoop()
消息对话框 :MessageDialog()
文本输入对话框:TextEntryDialog()
#-*- coding:utf-8 -*-
import wx
class MyFrame(wx.Frame):def __init__(self,parent):wx.Frame.__init__(self,parent,-1,'hello word',size=(300,300))panel = wx.Panel(self)size = wx.BoxSizer(wx.VERTICAL)panel.SetSizer(size)txt = wx.StaticText(panel,-1,'heelo word')size.Add(txt,0,wx.TOP|wx.LEFT,100)self.button = wx.Button(panel,-1,"quit")size.Add(self.button,0,wx.TOP|wx.LEFT)self.button.Bind(wx.EVT_BUTTON, self.click, self.button, -1, -1)self.button.Bind(wx.EVT_ENTER_WINDOW, self.enter)self.button1 = wx.Button(panel,-1,"OK")self.button1.Bind(wx.EVT_BUTTON, self.ok)self.Centre()def enter(self,event):print 'enter window'self.button.SetLabel('dddd')event.Skip()def click(self,event):print 'quit'dlg = wx.MessageDialog(None, u"消息对话框测试", u"标题信息", wx.YES_NO | wx.ICON_QUESTION)if dlg.ShowModal() == wx.ID_YES:self.Close(True)dlg.Destroy()def ok(self,event):print 'ok'text = wx.TextEntryDialog(None,u"请输入文本", u"标题信息")text.ShowModal()print text.GetValue()event.Skip()#self.Close()
class MyApp(wx.App):def OnInit(self):self.frame = MyFrame(None)self.frame.Show(True)print 'init--',self.frame.GetId()return Trueapp = MyApp()
app.MainLoop()
------------------------------------------------
工具栏和状态栏:
CreateToolBar()CreateStatusBar()#-*- coding:utf-8 -*-
import wx
class MyFram(wx.Frame):def __init__(self,parent):wx.Frame.__init__(self,parent,-1,u"简单工具栏",size = (800,200))toolbar = self.CreateToolBar()toolbar.AddLabelTool(wx.ID_EXIT,'',wx.Bitmap("001.png"))toolbar.Realize()self.Bind(wx.EVT_TOOL,self.OnExit,id = wx.ID_EXIT)self.CreateStatusBar()self.SetStatusText(u'数据测试')self.Center()def OnExit(self,event):self.Close()
app = wx.App()
frame = MyFram(None)
frame.Show()
app.MainLoop()
Python GUI设计 PythonWx相关推荐
- Python GUI设计 tkinter 笔记
# <Python GUI设计 tkinter菜鸟编程>学习笔记,可直接执行代码 # 排版混乱,可设置Tab缩进为2个空格查看 # 此处整个笔记为python程序,可直接运,生成各类GUI ...
- Python GUI设计——Entry文本框、文字区域Text
目录 1.Entry 1.1基本概念 1.2使用show参数隐藏输入的字符 1.3Entry的get()方法 1.4Entry的insert()方法 1.5Entry的delete()方法 1.6计算 ...
- Python GUI设计——Label标签
目录 1.常用参数 2.共同属性 2.1Color 2.2Dimensions 2.3Anchor 2.4Wraplength 2.5Font 2.6Justify 2.7Bitmaps 2.8Com ...
- Python GUI设计——Button功能按钮
目录 1.简介 1.1定时程序设计 1.2颜色选择程序设计 2.使用Lambda表达式 3.建立含图像的功能按钮 4.简易计算器按钮设计 5.设计鼠标光标在功能按钮上的的形状 1.简介 功能按钮也称为 ...
- Python GUI设计——基本概念
GUI英文全称是Graphical User Interface,中文是图形用户接口,可以让用户与计算机进行沟通. tkinter是一个开放源码的图形接口开发工具,原来是用TCL(Tool Comma ...
- Python GUI设计——PyQt5的学习实践记录day04、05、06(PyQt5常用控件【一】)
目录 一.控件概述 1.1 认识控件 1.2 控件的命名规范 二.文本类控件 2.1 Label:标签控件 2.1.1 设置标签文本 2.1.2 设置标签文本的对齐方式 2.1.3 设置文本换行显示 ...
- Python Qt GUI设计:QPushButton、QRadioButton和QCheckBox按钮类(基础篇—12)
目录 1.QPushButton按钮类 2.QRadioButton按钮类 3.QCheckBox按钮类 在GUI设计中,按钮都是最重要的和常用的触发动作请求的方式,用来与用户进行交互操作.在PyQt ...
- Python Qt GUI设计:信号与槽的使用方法(基础篇—7)
目录 1.信号与槽的概念 2.信号与槽的基础函数 2.1.创建信号函数 2.2.连接信号函数 2.3.断开信号函数 2.4.发射信号函数 3.信号和槽的使用方法 3.1.内置信号与槽的使用 3.2.自 ...
- Python Qt GUI设计:窗口布局管理方法【强化】(基础篇—6)
目录 1. 水平布局类(QHBoxLayout) 2.垂直布局类(QVBoxLayout) 3.网格布局类(QGridLayout) 3.1.单一的网络布局 3.2.跨越行.列的网络布局 4.表单布局 ...
- Python Qt GUI设计:窗口布局管理方法【基础】(基础篇—5)
目录 1.布局管理器进行布局 2.容器控件进行布局 3.geometry属性:控件绝对布局 4.sizePolicy属性:微调优化控件布局 Qt Designer提供4种窗口布局方式,分别如下: Ve ...
最新文章
- ​AI 面试“泛滥”的时代,HR该如何甄别真假“AI”?
- mysql 自定义哈希函数_C++ STL无序容器自定义哈希函数和比较规则(超级详细)...
- ASP.NET MVC (一)
- 【半小时大话.net依赖注入】(一)理论基础+实战控制台程序实现AutoFac注入
- Struts2中数据封装方式
- Oracle Sharding
- Test from Windows Live Writer
- JS一秒区分clientX,offsetX,screenX,pageX之间关系
- 1.剑指Offer --- 面试的流程
- paip.PHP-asp—jsp实现事件机制 WEBFORM式开发
- MATLAB中文显示乱码如何解决
- 阿里云域名注册+服务器购买+备案教程(图文教程)
- JVM致命错误日志详解
- 用集成移位寄存器74194设计一个模4的环形计数器电路
- CNN | 02实现几何图形分类
- 【微信小程序】获取用户头像和ID
- 分类中常见的类别不平衡问题解决方法
- 使用中文分词工具切分ArcGIS在线文档
- C语言实现计算数字能否被3个数整除
- 流媒体之老黄谈流媒体服务与视频网站研发
热门文章
- 宽度发生变化事件监听_PyQt5(3) :实现登录 事件监听处理 程序逻辑功能和界面分离...
- highCharts如何实现json数组数据的图形展示
- 计算机控制 重修,计算机控制技术重修复习提纲.doc
- Kafka 消息序列化反序列化
- java 匿名委托_委托,匿名方法,λ 表达式
- maven导入jar失败
- java考前复习之String 类
- mpi4py安装报错error: Cannot compile MPI programs. Check your configuration!!!
- linux六个标准目录,Linux基本目录规范——XDG
- 无线设置 用户_【HIT每日学14】医院无线网络安全管理办法