您好,欢迎光临本网站![请登录][注册会员]  
文件名称: python3+wxpython编程教程
  所属分类: 专业指导
  开发工具:
  文件大小: 1mb
  下载次数: 0
  上传时间: 2019-03-03
  提 供 者: qq_41******
 详细说明:python3+wxpython图形界面编程教程,通过学习可以掌握wxpython编程基本知识。内有图文、源代码展示。wx. StaticText wX. Button wX.BitmapButton wX. AnyButton wx. Radio Button WX.ToggleButton wx CheckBox wx. TextCtrl ListBox WX. Control wx ComboBox wx. Choice Slide wx Gauge wx ScrollBar wX ToolBar wx TreeCtrl wx. StaticBox WX.StaticBitmap 图 02 控件类层次结构 第一个 wXPython程序 1、第一个程序 coding=utf-8 #代码文件: chapter19/ch19.3.2-1py mport WX #创建应用程序对象 app= wx Appo #创建窗口对象 frm= WX Frame(None,tte="第一个GU程序!,size=(400,300,pos=(100,100)① frm show0)#显示窗口② app. MainLoop0#进入主事件循环③ 2、窗口类MyF rame coding=utf-8 #代码文件: chapter19/ch19.3.2-2py Import WX #自定义窗口类 My Frame class MyFrame(wx Frame ): 1 def_ init_(self) super().init( parent=None,tle="第一个GU|程序!",size=(400,300,pos=(100,100) t TODO class app(wx. App) def OnInit(sef;:② #创建窗口对象 frame My Framed frame. Showo return True def on Exit(sef;:③ print(应用程序退出) return o name - maIn app Appo app. MainLoop(0)#进入主事件循环 3、使用面板 coding=utf-8 #代码文件: chapter19/ch193.2-3.py import WX #自定义窗口类 My Frame lass My Frame(wx Frame def init(self) super().init( parent=None,tite="第一个GU|程序!",sze=(400,300) self centre(0#设置窗口居中① panel wx Panel(parent=self)(2 statictext=wX. StaticText(parent=panel, label='Hello World! pos=(10, 10) class app(wx. App) def OnInit(self) #创建窗口对象 frame MyFrameo frame Showo return true app= Appo app. MainLoop(0)#进入主事件循环 Edit 菜单栏 内容面板 图03 Frame的内容面板 WXPython界面构建层次结构 Frame (顶级窗口) Pane(内容面板) 菜单栏 StaticText(标签 (其他子控件 图04界面构建层次 事件处理 在事件处理的过程中涉及4个要素 事件。 事件类型。 事件源。 事件处理者。 绑定是通过事件处理类的 Bindo方法实现, Bindo方法语法如下: Bind(self, event, handler, source= None, id=wX. ID_ANY, id2=WX. ID_ANY 对一事件处理 一对一事件处理 一对一事件处理 Hello, world OK (a) 图05一对一事件处理示例 对多事件处理 一对一事件处理 国一对一事件处理 Butn1单击 Butn2单击 L Button1 Button1 Button2 Button2 a 图06一对多事件处理示例 示例:鼠标事件处理 布局管理 使用绝对布局会有如下问题: 子窗口(或控件)位置和大小不会随着父窗口的变化而变化。 在不同平台上显示效果可能差别很大。 在不同分辨率下显示效果可能差别很大。 字体的变化也会对显示效果有影响。 动态添加或删除子窗口(或控件)界面布局需要重新设计。 wX Sizer wx. BoxSizer wx. GridSizer wx. StaticBoxSizer wX.WrapSizer wx FlexGrid Sizer wX.Std Dialog Button Sizer wX.GridBagSizer 类层次结构 BoX布局器 创建wXx. BoXSizer对象时可以指定布局方向: hboX= wX. BoxSizer( WX. HORIZONTAL)#设置为水平方向布局 hbox=wx. BoXSizer(#也是设置为水平方向布局, WX. HORIZONTAL是默认值可以省略 vbox= wx. BoXSizeri( NX VERTICAL)#设置为垂直方向布局 当需要添加子窗口(或控件)到父窗口时,需要调用wx. Box Sizer对象AdO方法, AddO方法是从父类wx. Sizer继承而来的,AdO方法语法说明如下: Add( window, proportion=0,fag=0, border=0, userData=None)#添加到父窗口 Add(szer, proportion=0,fag=0, border=0, userData=None)#添加到另外一个Szer中,用于嵌套 Add( width, height, proportion=0,fag=0, border=0, userData=None)#添加一个空白空间 表对齐标志 标志 说明 顶对齐 底对齐 左对齐 右对齐 居中对齐 垂直居中对齐 水平居中对齐 同 同 表边框标志 标志 说明 设置有顶部边框,边框的宽度需要通过方法的 参数设置 设置有底部边框 设置有左边框 设置有右边框 设置面全有边框 表调整尺寸标志 标志 说明 调整子窗口(或控件)完全填满有效空间 调整子窗口(或控件)填充有效空间,但保存高宽比 调整子窗口(或控件)为最小尺寸 设置此标志后,子窗口(或控件)如果被隐藏,所占空间保留 Box布局 Button1单击 Button 1 Button2 图08Box布局示例 StaticBox布局 Wx. Static Box Sizer构造方法如下: 口wx. Static Box Sizer(box, orient-= HORIZONTAL)。box参数是 wx. StaticBox(静态框) 对象, orient参数是布局方向。 口wx. Static Box sizer( orient, parent, label=") orient参数是布局方向, parent参数是 设置所在父窗口, label参数设置边框的静态文本。 StaticBox布局 Bun1单击 按钮框 Button1 Button2 图09 Static Box布局示例 Grd布局 wx, Gridsizer构造方法如下: 口wx. GridSizer(rows,cols,vgap,hgap)。创建指定行数和列数的wx. Gridsizer对象, 并指定水平和垂直间隙,参数hgap是水平间隙,参数vgap是垂直间隙。添加 的子窗口(或控件)个数超过rows×cols之积,则引发异常 口wx. Gridsizer(rows,cols,gap)。同 Gridsizer(rows,cols,vgap,hgap),gap参数指定 垂直间隙和水平间隙,gap参数是wx.Size类型,例如wx.size(2,3)是设置水平间 隙为2像素,垂直间隙为3像素。 口wx. gridsizert(col,vgap,hgap)。创建指定列数的wx. Gridsizer对象,并指定水平 和垂直间隙。由于没有限定行数,所以添加的子窗口(或控件)个数没有限制。 wX. GridSizer(cols,gap=wx.Size(0,0)。同 GridSizer(cols,vgap,hgap),gap参数是 垂直间隙和水平间隙是 wx. Size类型 Grid布局 8 图010 布局示例 FlexGrid布局 wx. Flex gridsizer有两个特殊方法如下: 口 AddGrowablerow(idx, proportion=0)。指定行是可扩展的,参数idx是行索引, 从零开始;参数 proportion是设置该行所占空间比例。 口 Add Growablecolc(idx, proportion=0)。指定列是可扩展的,参数idx是列索引,从 零开始;参数 proportion是设置该列所占空间比例。 FlexGrid布局 标题 作者名: 内容 图011 布局示例 WXPython控件 静态文本和按钮 wXPython中静态文本类是wx. StaticText,可以显示文本。 wXPython中的按钮主要有
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: pythonwxpython
 输入关键字,在本站1000多万海量源码库中尽情搜索: