wxpython中文手册

合集下载

python学习教程(十)之wxpython

python学习教程(十)之wxpython

python学习教程(⼗)之wxpython /karldoenitz/article/details/11581575今天写⼀个wxpython的计算器,此处代码:[python]1. #!/usr/bin/python2. # -*- coding: utf-8 -*-3.4. # calculator.py5.6. import wx7.8. class Example(wx.Frame):9. bianliang1 = '0'10. bianliang2 = '0'11. judge = ""12.13. def __init__(self, parent, title):14. super(Example, self).__init__(parent, title=title, size=(300, 250))15.16. self.InitUI()17. self.Centre()18. self.Show()19.20. def OnButtonClick0(self, event):21. var = self.display.GetValue()22. var = int(var)*10 + 023. self.display.Value = str(var)24.25. def OnButtonClick1(self, event):26. var = self.display.GetValue()27. var = int(var)*10 + 128. self.display.Value = str(var)29.30. def OnButtonClick2(self, event):31. var = self.display.GetValue()32. var = int(var)*10 + 233. self.display.Value = str(var)34.35. def OnButtonClick3(self, event):36. var = self.display.GetValue()37. var = int(var)*10 + 338. self.display.Value = str(var)39.40. def OnButtonClick4(self, event):41. var = self.display.GetValue()42. var = int(var)*10 + 443. self.display.Value = str(var)44.45. def OnButtonClick5(self, event):46. var = self.display.GetValue()47. var = int(var)*10 + 548. self.display.Value = str(var)49.50. def OnButtonClick6(self, event):51. var = self.display.GetValue()52. var = int(var)*10 + 653. self.display.Value = str(var)54.55. def OnButtonClick7(self, event):56. var = self.display.GetValue()57. var = int(var)*10 + 758. self.display.Value = str(var)59.60. def OnButtonClick8(self, event):61. var = self.display.GetValue()62. var = int(var)*10 + 863. self.display.Value = str(var)64.65. def OnButtonClick9(self, event):66. var = self.display.GetValue()67. var = int(var)*10 + 968. self.display.Value = str(var)69.70. def OnButtonCls(self, event):71. self.display.Value = '0'72.73. def OnButtonBck(self, event):74. var = self.display.GetValue()75. var = int(var)/1076. self.display.Value = str(var)77.78. def OnButtonClickClose(self, event):79. wx.Exit()80.81. def OnButtonClickJia(self, event):82. self.bianliang1 = self.display.GetValue()83. self.display.Value = '0'84. self.judge="+"85.86. def OnButtonClickJian(self, event):87. self.bianliang1 = self.display.GetValue()88. self.display.Value = '0'89. self.judge="-"90.91. def OnButtonClickChe(self, event):92. self.bianliang1 = self.display.GetValue()93. self.display.Value = '0'94. self.judge="*"95.96. def OnButtonClickChu(self, event):97. self.bianliang1 = self.display.GetValue()98. self.display.Value = '0'99. self.judge="/"100.101. def OnButtonClickEqu(self, event):102. bianliang2 = self.display.GetValue()103. if self.judge == '+':104. self.display.Value = str(int(self.bianliang1)+int(bianliang2))105. elif self.judge == '-':106. self.display.Value = str(int(self.bianliang1)-int(bianliang2))107. elif self.judge == '*':108. self.display.Value = str(int(self.bianliang1)*int(bianliang2))109. elif self.judge == '/':110. self.display.Value = str(int(self.bianliang1)/int(bianliang2))111.112. def InitUI(self):113.114. menubar = wx.MenuBar()115. fileMenu = wx.Menu()116. menubar.Append(fileMenu, '&File')117. self.SetMenuBar(menubar)118.119. vbox = wx.BoxSizer(wx.VERTICAL)120. self.display = wx.TextCtrl(self, style=wx.TE_RIGHT,value='0')121. vbox.Add(self.display, flag=wx.EXPAND|wx.TOP|wx.BOTTOM, border=4) 122. gs = wx.GridSizer(4, 4, 5, 5)123.124. buttonCls = wx.Button(self, label='Cls')125. buttonBck = wx.Button(self, label='Bck')126. buttonClose = wx.Button(self, label='Close')127. button7 = wx.Button(self, label='7')128. button8 = wx.Button(self, label='8')129. button9 = wx.Button(self, label='9')130. buttonChu = wx.Button(self, label='/')131. button4 = wx.Button(self, label='4')132. button5 = wx.Button(self, label='5')133. button6 = wx.Button(self, label='6')134. buttonChen = wx.Button(self, label='*')135. button1 = wx.Button(self, label='1')136. button2 = wx.Button(self, label='2')137. button3 = wx.Button(self, label='3')138. buttonJian = wx.Button(self, label='-')139. button0 = wx.Button(self, label='0')140. buttonDot = wx.Button(self, label='.')141. buttonEqu = wx.Button(self, label='=')142. buttonPlus = wx.Button(self, label='+')143.144. gs.AddMany([145. (buttonCls, 0, wx.EXPAND),146. (buttonBck, 0, wx.EXPAND),147. (wx.StaticText(self), wx.EXPAND),148. (buttonClose, 0, wx.EXPAND),149. (button7, 0, wx.EXPAND),150. (button8, 0, wx.EXPAND),151. (button9, 0, wx.EXPAND),152. (buttonChu, 0, wx.EXPAND),153. (button4, 0, wx.EXPAND),154. (button5, 0, wx.EXPAND),155. (button6, 0, wx.EXPAND),156. (buttonChen, 0, wx.EXPAND),157. (button1, 0, wx.EXPAND),158. (button2, 0, wx.EXPAND),159. (button3, 0, wx.EXPAND),160. (buttonJian, 0, wx.EXPAND),161. (button0, 0, wx.EXPAND),162. (buttonDot, 0, wx.EXPAND),163. (buttonEqu, 0, wx.EXPAND),164. (buttonPlus, 0, wx.EXPAND)165. ])166.167. buttonCls.Bind(wx.EVT_BUTTON,self.OnButtonCls)168. buttonBck.Bind(wx.EVT_BUTTON,self.OnButtonBck)169. buttonClose.Bind(wx.EVT_BUTTON,self.OnButtonClickClose) 170. button0.Bind(wx.EVT_BUTTON,self.OnButtonClick0)171. button1.Bind(wx.EVT_BUTTON,self.OnButtonClick1)172. button2.Bind(wx.EVT_BUTTON,self.OnButtonClick2)173. button3.Bind(wx.EVT_BUTTON,self.OnButtonClick3)174. button4.Bind(wx.EVT_BUTTON,self.OnButtonClick4)175. button5.Bind(wx.EVT_BUTTON,self.OnButtonClick5)176. button6.Bind(wx.EVT_BUTTON,self.OnButtonClick6)177. button7.Bind(wx.EVT_BUTTON,self.OnButtonClick7)178. button8.Bind(wx.EVT_BUTTON,self.OnButtonClick8)179. button9.Bind(wx.EVT_BUTTON,self.OnButtonClick9)180. buttonEqu.Bind(wx.EVT_BUTTON,self.OnButtonClickEqu) 181. buttonPlus.Bind(wx.EVT_BUTTON,self.OnButtonClickJia) 182. buttonJian.Bind(wx.EVT_BUTTON,self.OnButtonClickJian) 183. buttonChen.Bind(wx.EVT_BUTTON,self.OnButtonClickChe) 184. buttonChu.Bind(wx.EVT_BUTTON,self.OnButtonClickChu) 185.186. vbox.Add(gs, proportion=1, flag=wx.EXPAND)187. self.SetSizer(vbox)188.189.190.191. if __name__ == '__main__':192.193. app = wx.App()194. Example(None, title='Calculator') 195. app.MainLoop()196.。

wxPython布局管理(绝对布局与Sizer)

wxPython布局管理(绝对布局与Sizer)

wxPython布局管理(绝对布局与Sizer)转载⼀个典型的应⽤程序是由不同的部件。

这些⼩部件被放进容器部件。

⼀个程序员必须管理应⽤程序的布局。

这不是⼀项容易的任务。

在wxPython我们有两个选择。

*absolute positioning*sizersAbsolute Positioning绝对位置程序员指定位置和⼤⼩的每个⼩部件以像素为单位。

当你使⽤绝对定位,你必须了解⼀些事情。

1.如果你改变窗⼝⼤⼩,⼤⼩和位置的⼀个⼩部件不改变2.在各种平台上的应⽤程序看起来不同3.更改字体在您的应⽤程序可能会破坏布局4.如果你决定改变你的布局,你必须完全重做你的布局,这是繁琐⼜费时可能存在的情况下,我们可能使⽤绝对定位。

例如,我的教程。

我不想使⽰例太难了,所以我经常使⽤绝对定位来解释⼀个主题。

但是最重要的是,在现实世界的程序,程序员使⽤sizer。

在我们的例⼦中,我们有⼀个简单的⽂本编辑器⾻架。

如果我们调整窗⼝⼤⼩,因为我们希望wx.TextCtrl的⼤⼩不会改变。

[python]1. '''''2. Created on 2012-7-13.4. @author: Administrator5. '''6. import wx7. class Example(wx.Frame):8. def __init__(self,parent,title):9. super(Example,self).__init__(parent,title=title,size=(260,180))10. self.InitUI()11. self.Centre()12. self.Show()13. def InitUI(self):14. panel = wx.Panel(self, -1)15. menuBar = wx.MenuBar()16. filem = wx.Menu()17. editm = wx.Menu()18. helpm = wx.Menu()19.20. menuBar.Append(filem,"&File")21. menuBar.Append(editm,"&Edit")22. menuBar.Append(helpm,"&Help")23. self.SetMenuBar(menuBar)24.25. wx.TextCtrl(panel,pos=(3,3),size=(250,150))26. if __name__ == '__main__':27. app = wx.App()28. Example(None,title='Layout1')29. app.MainLoop()在上⾯的⽰例中,我们的位置⽂本控制在绝对坐标。

wxPython布局管理器(sizer)学习(1)

wxPython布局管理器(sizer)学习(1)

wxPython布局管理器(sizer)学习(1)个⼈认为学习GUI程序开发,最重要的两个基础点就是:事件处理和界⾯布局。

事件处理能够让你在界⾯上的控件被⿏标、按键等触发的时候做出合适的响应,⽐如点击“保存”按钮之后弹出标准的⽂件保存对话框。

另外⼀件重要的就是界⾯的布局,之所以要有GUI程序,就是为了有良好的⽤户体验,如果⼀个软件界⾯布局乱七⼋糟的话,肯定是不合适的。

⾄于按钮、⽂本框、静态⽂本这些组件,不过是通过相应的类产⽣实例并⽤Add之类的⽅法添加到⾯板上⽽已。

wxPython的sizer是⽤于⾃动布局⼀组窗⼝(之前提到过GUI程序开发中窗⼝的概念,⼀个按钮、⼀个⽂本框都叫窗⼝(window),⽽软件的主体结构,通常为矩形,我们称之为框架(Frame))的算法。

使⽤sizer的好处是当容器(⼀个Frame或Panel)的尺⼨被⽤户调整时,容器内的组件会⾃动重新计算最优化的⼤⼩和位置,不⽤像绝对定位那样为每⼀个组件设计⼤⼩和位置。

sizer的缺陷也很明显,那就是有⼀定的局限性,因为sizer的类型是有限的,在布局上不能像绝对定位那样随⼼所欲。

需要注意的是,sizer本⾝并不是容器,只是⼀种算法,把组件添加到某个sizer,实际上是说这个组件⽤这个sizer来计算它该如何布局,⽽实际上组件的容器还是⼀个Frame或者Panel。

wxPython中预定义的sizerGrid: 最基础的⼆维⽹格布局,可以指定⾏列,每个⽹格的尺⼨都相同。

Flex grid:在Grid的基础上进⾏了改进,⽹格的尺⼨可以不同。

Grid bag:最灵活的⽹格布局器,可以随意放置在⽹格中放置组件。

Box:在⼀条⽔平线或垂直线上进⾏布局,⽹格的尺⼨可以不同,通常⽤于嵌套。

Static box:标准的box sizer,⼀圈环线上可以带有⽂本标题。

使⽤sizer的基本步骤:1. 创建sizer并使⽤SetSizer(sizer)⽅法将它关联到容器。

PYTHON用户手册

PYTHON用户手册

Python用户手册目录第1章PYTHON语句简介 (1)1.1重访PYTHON程序结构 (1)1.2P YTHON的语句 (1)第2章IF测试和语法规则 (2)2.1.1真值测试 (3)第1章Python语句简介1.1重访python程序结构1、程序由模块构成;2、模块包含语句;3、语句包含表达式;4、表达式建立并处理对象。

Python的语法是指是由语句和表达式组成的。

表达式处理对象并嵌套在语句中。

语句总是存在于模块中的,而模块本身又是由语句来管理的。

1.2Python的语句赋值语句以不同的语法形式呈现。

Print几乎总是座位一条表达式语句运行,通常将其看做是一条语句类型。

Yield实际上是一个表达式,而不是一条语句。

Python中新的语法成分是冒号(:),所有python的复合语句都有相同的一般形式,也就是首行以冒号结尾,首行下一行嵌套的代码往往按缩进的书写格式。

在python中,可以省略括号而语句依然能正常工作。

在python中,一般原则是,一行的结束会自动终止出现在该行的语句。

换句话说,就是可以省略分号并且程序会正确工作。

缩进的结束就是代码块的结束:不用刻意在程序代码中输入任何语法上用来标明嵌套代码块的开头和结尾的东西。

在python中,我们一致的把嵌套块里所有的语句向右缩进相同的距离,python能够使用语句的实际缩进来确定代码块的开头和结尾。

缩进规则是python迫使程序员写出统一、整齐且具有可读性程序的主要方式之一。

这就意味着你必须根据程序的逻辑结构,以垂直对齐的方式来组织程序代码。

结果就是让程序更一致并具有可读性。

缩进没有绝对的标准:常见的是每层四个空格或者一个制表符,但是你想怎么缩进以及缩进多少是由你自己决定的。

嵌套越深的代码块向右缩进的越厉害,越浅就越靠前一个块。

第2章if测试和语法规则本章介绍python的if语句,也就是根据测试结果,从一些备选的操作中进行选择的主要语句。

Python中文手册(汉译)Word文字可编辑版

Python中文手册(汉译)Word文字可编辑版

Python 手册Python中文社区Python 手册向上:Python 文档索引向后:前言Python 手册Guido van RossumFred L. Drake, Jr., editorPythonLabsEmail: **********************Release 2.3July 29, 2003前言目录1. 开胃菜2. 使用Python解释器2.1 调用解释器2.1.1 传递参数2.1.2 交互模式2.2 解释器及其工作模式2.2.1 错误处理2.2.2 执行 Python 脚本2.2.3 源程序编码2.2.4 交互环境的启动文件3.初步认识Python3.1 像使用计算器一样使用Python3.1.1 数值3.1.2 字符串3.1.3 Unicode 字符串3.1.4 链表3.2 开始编程4. 流程控制4.1 if 语法4.2 for 语法4.3 range() 函数4.4 break 和continue 语法以及else 子句在循环中的用法4.5 pass 语法4.6 定义函数4.7 定义函数的进一步知识4.7.1 定义参数变量4.7.2 参数关键字4.7.3 可变参数表4.7.4 Lambda 结构4.7.5 文档字符串5. 数据结构5.1 深入链表5.1.1 将链表作为堆栈来使用5.1.2 将链表作为队列来使用5.1.3 函数化的编程工具5.1.4 链表的内含(Comprehensions)5.2 del 语法5.3 Tuples 和 Sequences5.4 字典(Dictionaries)5.5 循环技巧5.6 深入条件控制5.7 Sequences 和其它类型的比较6. 模块6.1 深入模块6.1.1 模块搜索路径6.1.2 “编译” Python 文件6.2 标准模块6.3 dir() 函数6.4 包6.4.1 从包中导入所有内容(import * )6.4.2 隐式包引用6.4.3 包中的多重路径7. 输入和输出7.1 格式化输出7.2 读写文件7.2.1 文件对象的方法7.2.2 pickle 模块8. 错误和异常8.1 语法 Errors8.2 异常8.3 捕获异常8.4 释放异常8.5 用户自定义异常8.6 定义 Clean-up Actions9. 类9.1 一个术语9.2 Python 的生存期和命名空间9.3 类(Classes)的初步印像9.3.1 类定义语法9.3.2 类对象9.3.3 实例对象9.3.4 方法对象9.4 自由标记(Random Remarks)9.5 继承9.5.1 多继承9.6 私有变量9.7 零杂技巧9.8 异常也是类9.9 迭代子(Iterators)9.10 发生器(Generators)10. 接下来?A. 交互式编辑和历史回溯A.1 行编辑A.2 历史回溯A.3 快捷键绑定A.4 注释B. 浮点计算:问题与极限B.1 表达错误C. 历史和授权C.1 本软件的历史C.2 修改和使用Python的条件(Terms and conditions for accessing or otherwise usingPython)关于本文档Python 手册向上:Python 文档索引向后:前言Release 2.3, documentation updated on July 29, 2003.See A bout this document... for information on suggesting changes.Python中文社区前言Python中文社区Python 指南向前:Python 指南向上: P ython 指南向下:目录前言Copyright © 2001, 2002, 2003 Python Software Foundation. All rights reserved.Copyright © 2000 . All rights reserved.Copyright © 1995-2000 Corporation for National Research Initiatives. All rights reserved.Copyright © 1991-1995 Stichting Mathematisch Centrum. All rights reserved.See the end of this document for complete license and permissions information.概要:Python 是一种容易学习的强大语言。

python图形开发GUI库wxpython使用方法详解

python图形开发GUI库wxpython使用方法详解

python图形开发GUI库wxpython使⽤⽅法详解⼀、python gui(图形化)模块介绍: Tkinter :是python最简单的图形化模块,总共只有14种组建 Pyqt :是python最复杂也是使⽤最⼴泛的图形化 Wx :是python当中居中的⼀个图形化,学习结构很清晰 Pywin :是python windows 下的模块,摄像头控制(opencv),常⽤于外挂制作⼆、wx模块的安装:C:\Users\Administrator> pip install wxpython三、图形化介绍四、wx主要组件介绍1、frame(窗⼝)参数:parent = None #⽗元素,假如为None,代表顶级窗⼝id = None #组件的标识,唯⼀,假如id为-1代表系统分配idtitle = None #窗⼝组件的名称pos = None #组件的位置,就是组件左上⾓点距离⽗组件或者桌⾯左和上的距离size = None #组件的尺⼨,宽⾼style = None #组件的样式name = None #组件的名称,也是⽤来标识组件的,但是⽤于传值2、TextCtrl(⽂本框)参数:parent = None #⽗元素,假如为None,代表顶级窗⼝id = None #组件的标识,唯⼀,假如id为-1代表系统分配idvalue = None #⽂本框当中的内容GetValue #获取⽂本框的值SetValue #设置⽂本框的值pos = None #组件的位置,就是组件左上⾓点距离⽗组件或者桌⾯左和上的距离size = None #组件的尺⼨,宽⾼style = None #组件的样式validator = None #验证name = None #组件的名称,也是⽤来标识组件的,但是⽤于传值3、Button(按钮)参数:parent = None #⽗元素,假如为None,代表顶级窗⼝id = None #组件的标识,唯⼀,假如id为-1代表系统分配idlable = None #按钮的标签pos = None #组件的位置,就是组件左上⾓点距离⽗组件或者桌⾯左和上的距离size = None #组件的尺⼨,宽⾼style = None #组件的样式validator = None #验证name = None #组件的名称,也是⽤来标识组件的,但是⽤于传值其它组件的参数类似4、创建窗⼝基础代码基本创建窗⼝代码说明:import wx #引⼊wx模块app = wx.App() #实例化⼀个主循环<br>frame = wx.Frame(None) #实例化⼀个窗⼝<br>frame.Show()#调⽤窗⼝展⽰功能<br>app.MainLoop()#启动主循环效果如下图:五、Gui编写简单实例实现如下⼀个GUI界⾯,在上⾯⽂本框中输⼊⽂本⽂件地址,点击“打开”按钮后将⽂本⽂件内容显⽰在下⾯的⽂本框中。

Python中文手册【Word版 】

Python中文手册【Word版 】
另一种情况:可能你需要使用几个C库来工作,通常C的编写/编译/测试/重编译周期太慢。你需要尽快的开发软件。也许你需要写一个使用扩展语言的程序,但不想设计一个语言,并为此编写调试一个解释器,然后再把它集成进你的程序。
遇到以上情况,Python可能就是你要找的语言。Python很容易上手,但它是一门真正的编程语言,提供了比Shell多的多的结构,支持大型程序。另一方面,它提供了比C更多的错误检查,并且,做为一门高级语言,它拥有内置的高级数据类型,例如可变数组和字典,如果通过C来实现的话,这些工作可能让你大干上几天的时间。因为拥有更多的通用数据类型,Python适合比Awk甚至Perl更广泛的问题领域,在其它的很多领域,Python至少比别的语言要易用得多。
Copyright?1995-2000CorporationforNationalResearchInitiatives.Allrightsreserved.Copyright?1991-1995StichtingMathematischCentrum.Allrightsreserved.
Seetheendofthisdocumentforcompletelicenseandpermissionsinformation.
>>>the_world_is_flat=1
>>>ifthe_world_is_flat:
...print"Becarefulnottofalloff!"
...
Becarefulnottofalloff!解释器打印一个错误信息和栈跟踪(监视)器?。交互模式下,它返回主提示符,如果从文件输入执行,它在打印栈跟踪器后以非零状态退出。(异常可以由try语句中的except子句来控制,这样就不会出现上文中的错误信息)有一些非常致命的错误会导致非零状态下退出,这由通常由内部矛盾和内存溢出造成。所有的错误信息都写入标准错误流;命令中执行的普通输出写入标准输出。

python使用手册

python使用手册

Python使用手册一、Python简介Python是一种高级、解释型、面向对象的编程语言。

它具有简单易学、可读性强、开发效率高等特点,被广泛应用于数据分析、人工智能、Web开发等领域。

本文将介绍Python的基础语法、常用库以及一些开发技巧,帮助初学者快速入门Python编程。

二、Python基础语法1. 变量与数据类型在Python中,变量用于存储数据,并且不需要提前声明变量的类型。

Python支持多种数据类型,包括整数、浮点数、字符串、布尔值等。

可以使用赋值运算符将数据赋给变量,例如:x = 10y = 3.14name = 'Alice'is_valid = True2. 列表和元组列表和元组是Python中常用的数据结构。

列表用于存储一组有序的元素,可以通过索引访问或修改列表中的元素。

元组类似于列表,但是一旦创建就不能修改。

例如:fruits = ['apple', 'banana', 'orange']print(fruits[0]) # 输出'apple'coordinates = (3, 4)x, y = coordinatesprint(x, y) # 输出3 43. 条件语句和循环结构条件语句和循环结构是控制程序流程的关键。

Python使用缩进来表示代码块,不需要使用大括号。

条件语句用于根据条件判断执行不同的代码块,例如:x = 10if x > 0:print('x is positive')elif x < 0:print('x is negative')else:print('x is zero')循环结构用于重复执行一段代码,有for循环和while循环两种形式,例如:for i in range(5):print(i)while x > 0:print(x)x -= 1三、常用Python库Python拥有丰富的第三方库,为开发者提供了许多便捷的功能和工具。

Python中的wxPython的窗口与组件基础操作方法

Python中的wxPython的窗口与组件基础操作方法

Python中的wxPython的窗口与组件基础操作方法wxPython是一种开源的GUI(graphical user interface,图形用户界面)工具包,它是Python编程语言的一个扩展库。

通过使用wxPython,我们可以很方便地创建各种窗口和组件,来构建自己的用户界面。

本文将介绍wxPython窗口与组件基础操作方法。

一、窗口的创建在wxPython中,窗口是我们所见的最基本的组件,我们需要先创建窗口,才能向其中添加其他组件,例如按钮,文本框等。

我们可以通过代码创建窗口,代码如下:```pythonimport wxapp = wx.App()window = wx.Frame(None, title = '窗口标题', size = (800, 600))window.Show()app.MainLoop()```在代码中,我们首先导入wx模块,创建了一个应用程序app和一个窗口window。

wx.Frame()函数用于创建窗口,它有许多参数。

其中,第一个参数是指定父窗口,如果我们不需要父窗口,就使用None。

第二个参数是窗口的标题,第三个参数是窗口的大小。

二、组件的添加在创建窗口之后,我们可以向窗口中添加各种组件。

下面是一些最基本的wxPython组件。

1、按钮按钮是我们常用的基本组件之一,可以通过按钮来触发某些特定的事件。

我们可以使用wx.Button()函数来创建按钮,代码如下:```pythonimport wxapp = wx.App()window = wx.Frame(None, title = '窗口标题', size = (800, 600))button = wx.Button(window, label = '按钮标签', pos = (20, 20))window.Show()app.MainLoop()```在代码中,我们创建了一个按钮,它属于窗口window。

python图形化界面设计(wxpython)一布局管理

python图形化界面设计(wxpython)一布局管理

python图形化界面设计(wxpython)一布局管理Python图形化界面设计是通过使用不同的库来创建图形化用户界面,其中wxPython是一个流行的库之一、wxPython是在Python中使用wxWidgets库的绑定,它提供了一套广泛的用户界面控件和布局管理器来创建具有吸引力和交互性的应用程序。

布局管理器是一种用于在用户界面中定位和布置控件的机制。

它们允许开发者以一种灵活的方式定义组件之间的关系,以便根据不同的窗口尺寸和用户需求进行自适应调整。

wxPython提供了三种主要的布局管理器:BoxSizer、GridSizer和FlexGridSizer。

BoxSizer是最简单和最常用的布局管理器之一、它将控件放置在一个水平或垂直的框中,可以自动调整大小和位置。

例如,以下代码创建一个垂直BoxSizer,并在其中添加两个按钮:```pythonimport wxclass MyFrame(wx.Frame):def __init__(self, parent, title):super(.__init__(parent, title=title)panel = wx.Panel(self)sizer = wx.BoxSizer(wx.VERTICAL)button1 = wx.Button(panel, label="Button 1")button2 = wx.Button(panel, label="Button 2")sizer.Add(button1, 0, wx.ALL, 10)sizer.Add(button2, 0, wx.ALL, 10)panel.SetSizer(sizer)self.Showapp = wx.Appframe = MyFrame(None, "BoxSizer Example")app.MainLoop```GridSizer是另一种常用的布局管理器,可以将控件放置在网格中。

活学活用wxPython前言

活学活用wxPython前言

《活学活用wxPython》如果你是wxPython初学者,你一定会想从第一部分开始。

第一章至第三章帮助您夯实 wxPython相关概念的坚实基础。

第六章则对构建合理大小程序的步骤进行了完整回顾。

第五章介绍如何让代码更易于管理的方法,第四章提供了一些协助进行调试、编写wxPython应用的工具。

当你开始编写自己的 wxPython程序时,你就已经开始使用第二部分讨论的API了——我们试图按照功能进行组织章节内容,以方便您查找有用的主题。

1.前言2.关于本书3.第一章欢迎使用wxPython4.第二章给wxPython程序一个坚实的基础5.第三章在事件驱动环境中开发6.第四章用PyCrust使得wxPython更易处理7.第五章绘制蓝图8.第六章使用wxPython基本构件9.第七章使用基础控件10.第八章将构件放入窗体中11.第九章通过对话框让用户选择12.第十章创建和使用wxPython菜单13.第十一章使用sizer放置构件14.第十二章操作基本图像15.第十三章建造列表控件并管理列表项16.第十四章网格控件17.第十五章树形控件18.第十六章在应用程序中加入HTML19.第十七章 wxPython的打印构架20.第十八章使用wxPython的其他功能前言目录1.前言1. 前言关于 Harri Pasanen 和 Robin Dunn 以及wxPython的传奇故事确切的开始时间是1995年。

本书的合著者之一,Robin 写下了下面这段关于wxPython 的文字,而我们决定让故事由参与者自己来讲述,而不是籍由旁人加以引述:1995年,我所进行的一个项目需要在HP-UX系统上部署一个图形用户界面,但我的老板却同时希望在几周后的一个内部展示会上通过Windows3.1掌上电脑来进行一些演示。

因此,我开始搜寻跨平台的C++ GUI开发包来进行原型开发。

在那个时候,因为没有Google,要完成这样的工作实非易事。

wxpython教材

wxpython教材

首先声明:本人还是个菜鸟,翻译只是为了学习,就当作记笔记了。

水平有限,错误和疏漏在所难免,希望各路高手能够给予指导。

而且简单查了一下,好像中文世界目前还没有完整的翻译Getting Started with wxPython的。

wxPython入门第一个应用程序:”Hello, World!”按惯例,我们先来写一个“Hello, World!” 小程序。

这是代码:# -*- coding: utf-8 -*-"""/chenghit"""import wxapp = wx.App(False) #创建1个APP,禁用stdout/stderr重定向frame = wx.Frame(None, wx.ID_ANY, "Hello, World!") #这是一个顶层的windowframe.Show(True) #显示这个frameapp.MainLoop()• 1• 2• 3• 4• 5• 6•7•8•9•10解释:代码说明app = wx.App(False) 每一个 wxPython 应用程序都是一个 wx.App 实例。

对于大多数的简单程序,直接实例化 wx.App 即可。

但如果你希望创建一个复杂的应用程序,那么可以对wx.App class 做一些扩展。

”False” 参数意味着“不要把 stdout 和 stderr 信息重定向到窗口”,当然也可以不加“False” 参数。

代码说明frame =wx.Frame(None,wx.ID_ANY, “Hello, World!”)完整的语法是 x.Frame(Parent, Id, Title)。

在本例中,我们使用“None” 来表示这个frame是顶层的框架,没有父框架;使用“wx.ID_ANY” 让 wxWidgets 来给我们挑选一个ID。

frame.Show(True) 显示这个Frameapp.MainLoop() 运行这个应用程序Note1:你还可以用 -1 来替代wx.ID_ANY,-1 就是默认值的意思。

python_3.1官方入门指南中文版 (1)

python_3.1官方入门指南中文版 (1)
2.1. 调用 Python 解释器................................................................................... 5 2.1.1. 参数传递................................................................................................. 6 2.1.2. 交互模式.................................................. 6 2.2. 解释器及其环境......................................................................................... 6 2.2.1. 错误处理................................................................................................. 6 2.2.2. 执行 Python 脚本................................................................................... 7 2.2.3. 源代码编码............................................................................................. 7 2.2.4. 交互执行文件......................................................................................... 7 3. Python 简介........................................................................................................... 8 3.1. 将 Python 用作计算器............................................................................... 8 3.1.1. 数字......................................................................................................... 9 3.1.2. 字符串................................................................................................... 11 3.1.3. 关于 Unicode........................................................................................ 15 3.1.4. 列表....................................................................................................... 15 3.2. 迈向编程的第一步................................................................................... 17 4. 深入 Python 流程控制........................................................................................ 18 4.1. if Statements if 语句........................................................................... 18 4.2. for 语句................................................................................................... 18 4.3. range() 函数........................................................................................... 19 4.4. break 和 continue 语句,以及循环的 else 子句........................... 20 4.5. pass 语句................................................................................................. 21 4.6. 定义函数................................................................................................... 21 4.7. 深入 Python 函数定义............................................................................. 23 4.7.1. 默认参数值........................................................................................... 23 4.7.2. 关键字参数........................................................................................... 24 4.7.3. 可变参数列表....................................................................................... 26 4.7.4. 拆分参数列表....................................................................................... 26 4.7.5. Lambda 方式.......................................................................................... 27 4.7.6. 文档字符串........................................................................................... 27 4.8. PS:编码风格........................................................................................... 27 5. 数据结构.............................................................................................................. 28 5.1. 深入列表................................................................................................... 28 5.1.1. 用列表实现堆栈................................................................................... 29 5.1.2. 用列表实现队列................................................................................... 30 5.1.3. 列表推导式........................................................................................... 30 5.1.4. 嵌套列表推导式................................................................................... 31 5.2. del 语句................................................................................................... 32

Python中文手册(汉译)

Python中文手册(汉译)
Python可以让你把自己的程序分隔成不同的模块,这样就可以在其它的Python程序中重用。这样你就可以让自己的程序基于一个很大的标准模块集或者用它们做为示例来学习Python编程。Python中集成了一些类似文件I/O,系统调用,sockets,甚至像Tk这样的用户图形接口。
Python是一门解释型语言,因为不需要编译和链接的时间,它可以帮你省下一些开发时间。解释器可以交互式使用,这样就可以很方便的测试语言中的各种功能,以便于编写发布用的程序,或者进行自下而上的开发。还可以当它是一个随手可用的计算器。
在主提示符或附属提示符输入中断符(通常是Control-CorDEL)就会取消当前输入,回到主命令行。2.1执行命令时输入一个中断符会抛出一个KeyboardInterrupt异常,它可以被try句截获。
TheapplicationofLaTeX2HTMLtothePythondocumentationhasbeenheavilytailoredby FredL.Drake,Jr.Original navigationiconswerecontributedby ChristopherPetrilli.
子目录
2.1调用解释器
2.1.1参数传递
2.1.2交互模式
2.2解释器和它的环境
2.2.1错误处理
2.2.2执行Python脚本
2.2.3源程序编码
2.2.4交互环境的启动文件
2.使用Python解释器
2.1调用解释器
通常Python的解释器被安装在目标机器的/usr/local/bin/python目录下;把/usr/local/bin目录放进你的UNIX Shell的搜索路径里,确保它可以通过输入
Python可以写出很紧凑和可读性很强的程序。用Python写的程序通常比同样的C或C++程序要短得多,这是因为以下几个原因:

wxPython 入门教程

wxPython 入门教程
初步项目组织器无论如何言归正传这里向您展示个它事实上做些值得做事情这个让您创建个称的为项目文本文件列表您可以编辑和保存它们更重要是您可以很容易地看到如何进步增强基本组织器我使用个扩展版本为cvs标准开放源码版本控制系统前端这里是代码我们仍然相当小应用从15行扩展到大约300行但它现在能实现许多事情width100width8border0width100width16border0回页首中趣事清单2中我没有列出行号很明显无论如何您都要月阅读该代码我只是般性地讲述下这个是做什么以及它所用python和wxpython功能是什么有关python更详细介绍说明请您本地书店找marklutz写oreilly这本书或者阅读随pythonguidorossum著python实际作者起文档第个有趣事是这个应用处理命令行列表sysargv是命令行为了使用它您需要理解python列表语法该举例用语法很基本但这足够让您理解这个了接下来为了在调试时易于使用定义个msgbox注意用于声明和类思路方法声明语法正好相同唯区别是类思路方法需要带参数self该参数包含了正在对象引用当然您不定要称它为self但如果不这样做您会迷惑真正有趣是在更为复杂init思路方法这里我们没有构建象上例样简单缺乏control控件菜单而是构建了个菜单栏并附加菜单事件到回调例程以及构建窗口分割栏树control控件和编辑控件您可以撇去这些来看整个工作怎样如果您以前未做过gui编程往下看您会觉得很困难visualbasic用种幕后方式可以做所有这些但如果在文本编辑器仅仅打开表格文件您仍然可以看到它如果您曾用cc做过gui工作那会觉得很熟悉旦有构造了窗口接下来我们就可以来看实际代码首先在思路方法init后有两个用于载入和保存项目文件思路方法在那可以看到python如何用open等等来处理文件io注意事实上关闭文件是种轻松事正如它所发生那样对于python来讲文件句柄仅仅是内存管理对象且该对象由计数器引用当该引用变为无效时python知道并会清除它这时文件会自动关闭也有不能完全信任情形文件不能自动关闭例如您将再次打开已写文件并读它这时您要明确地关闭它这个问题就是无用信息收集问题非c人喜欢讨论问题载入保存另个有趣特性是他们会碰到由坏文件产生例外ioerror例外我让代码来介绍说明自己但那是您如何做孩子们新代码剩下问题是事件处理用于处理在执行过程中所碰到我再次让自己来介绍说

python函数中文手册

python函数中文手册

p y t h o n函数中文手册(总21页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--内置函数一,文档说明原始文档来自于python 中文译文和用法尚不完全,您可以自由修改和完善,您可以在文档结尾鸣谢添上您的名字,我们将会感谢您做的贡献!二,函数列表1,取绝对值abs(x)Return the absolute value of a number. The argument may be a plain or long integer or a floating point number. If the argument is a complex number, its magnitude is returned.如果你不知道绝对值什么意思,那就要补一下小学数学了!基本用法2,all(iterable)Return True if all elements of the iterable are true (or if the iterable is empty). Equivalent to:3.any(iterable)Return True if any element of the iterable is true. If the iterable is empty, return False. Equivalent to:4.basestring()This abstract type is the superclass for str and unicode. It cannot be called or instantiated, but it can be used to test whether an object is an instance of str or unicode. isinstance(obj, basestring) is equivalent to isinstance(obj, (str, unicode)).是字符串和字符编码的超类,是抽象类型。

【Python】用户图形界面GUIwxpythonI基本用法和组件

【Python】用户图形界面GUIwxpythonI基本用法和组件

【Python】⽤户图形界⾯GUIwxpythonI基本⽤法和组件wxpython - 基本⽤法和组件 wxpython是python对跨平台GUI库wxWidgets的封装。

wxWidgets是由C++写成的。

wxpython被包装进了wx模块中,⽤它设计GUI很⽅便,但是必须要做的就是先建⽴⼀个应⽤的对象:app = wx.App()#与这个app相关的⼀些控件、框架等的操作,⼀定要在MainLoop调⽤前处理完app.MainLoop() 为了书写⽅便,下⾯所有代码和⽂本中都默认了是from wx import *了,这样不⽤每个类前⾯再加上wx.了。

*听说是由于沿⽤了C++的习惯,所有wx中的⽅法和函数都是每个单词的⾸字母⼤写 wx.DisplaySize() 返回的是屏幕⼤⼩,如在窗⼝创建时指定size是这个的话创建出来的窗⼝就是最⼤化的 ● 窗⼝(Frame)类 所有控件都应该放到⼀个窗⼝⾥去展现,这个窗⼝类就是Frame类。

他可以创建⼀个窗⼝并且右上⾓⾃带最⼩化、最⼤化和关闭三个键。

其构造⽅法是 Frame(self, Window parent, int id=-1, String title=EmptyStrin,Point pos=DefaultPosition, Size size=DefaultSize,long style=DEFAULT_FRAME_STYLE, String name=FrameNameStr)z 各个参数的意思是: parent ⼀个⽗对象,窗⼝的⽗对象只能是窗⼝。

⽗对象的意思是当前对象和其关联起来,当⽗对象被关闭或者删除的话,当前对象也跟着⼀起不见了、 id 指定⼀个id来在真个wx中标识当前对象。

⼀般来说不⽤特别指定,可以写默认值-1,意思是让python⾃动分配⼀个id给他就好了。

当事件发⽣时,python会根据这个id号来定位发⽣事件的元素 //以上两个参数在所有控件类的构造⽅法⾥都有,且意思也都⼀样。

python指导手册

python指导手册

Python是一种高级的、动态类型的编程语言,它的设计注重代码的可读性,并允许程序员使用简洁的语法来编写复杂的程序。

Python的标准库和丰富的第三方库使它适用于各种任务,包括Web开发、数据分析、机器学习、网络爬虫等领域。

Python的语法清晰、简洁,易于学习。

它支持面向对象、过程式和函数式编程风格,这使得Python成为一种非常灵活的语言。

Python的动态类型特性可以减少编译时错误,但也要求程序员对变量的类型保持关注。

Python有一个强大的标准库,提供了许多用于各种任务的实用模块和函数,如文件I/O、网络编程、数据库交互等。

此外,Python的第三方库非常丰富,如NumPy、Pandas、Matplotlib等,它们在数据科学、机器学习等领域非常有用。

要有效地使用Python,你需要理解其基本语法和数据结构,如列表、元组、字典和集合。

你还需要熟悉常用的Python模块和库,并了解如何使用它们来解决实际问题。

此外,良好的编程实践,如注释、文档编写和代码组织,也是非常重要的。

总的来说,Python是一种强大、灵活且易于学习的编程语言。

通过学习和实践,你可以用Python编写出高效、可维护的代码来解决各种问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

wxpython中文手册
wxPython中文教程简单入门加实例
Python 2 / Wxpython
wxPythonPython 编程浏览器脚本
wx.Window 是一个基类,许多构件从它继承。

包括wx.Frame 构件。

技术上这意味着,我们可以在所有的子类中使用wx.Window 的方法。

我们这里介绍它的几种方法:
* SetTitle( string title ) ——设置窗口标题。

只可用于框架和对话框。

* SetToolTip( wx.ToolTip tip ) ——为窗口添加提示。

* SetSize( wx.Size size ) ——设置窗口的尺寸。

* SetPosition( wx.Point pos ) ——设置窗口出现的位置。

* Show( show = True ) ——显示或隐藏窗口。

其中的参数可以为True 或False。

* Move( wx.Point pos ) ——将窗口移动到指定位置。

* SetCursor( wx.StockCursor id ) ——设置窗口的鼠标指针样式。

Python 代码
1. import wx
2. app = wx.PySimpleApp()
3. frame = wx.Frame( None, -1, '' )
4. frame.SetToolTip( wx.ToolTip( 'This is a frame' ) )
5. frame.SetCursor( wx.StockCursor( wx.CURSOR_MAGNIFIER ) )
6. frame.SetPosition( wx.Point( 0, 0 ) )
7. frame.SetSize( wx.Size( 300, 250 ) )
8. frame.SetTitle( 'simple2.py' )
9. frame.Show()
10.app.MainLoop()
wx.CURSOR_ARROW
wx.CURSOR_RIGHT_ARROW
wx.CURSOR_BLANK
wx.CURSOR_BULLSEYE
wx.CURSOR_CHAR
wx.CURSOR_CROSS
wx.CURSOR_HAND
wx.CURSOR_IBEAM
wx.CURSOR_LEFT_BUTTON
wx.CURSOR_MAGNIFIER
wx.CURSOR_MIDDLE_BUTTON
wx.CURSOR_NO_ENTRY
wx.CURSOR_PAINT_BRUSH
wx.CURSOR_PENCIL
wx.CURSOR_POINT_LEFT
wx.CURSOR_POINT_RIGHT
wx.CURSOR_QUESTION_ARROW
wx.CURSOR_RIGHT_BUTTON
wx.CURSOR_SIZENESW
wx.CURSOR_SIZENS
wx.CURSOR_SIZENWSE
wx.CURSOR_SIZEWE
wx.CURSOR_SIZING
wx.CURSOR_SPRAYCAN
wx.CURSOR_WAIT
wx.CURSOR_WATCH
wx.CURSOR_ARROWWAIT
我们把窗口放在了左上角,大小是300x250 像素,标题被设置为"simple2.py"。

wx.Frame 是一个容器构件。

这意味着它可以容纳其它构件。

它有如下的构造器:
wx.Frame( wx.Window parent, id, string title, wx.Point
pos=wx.DefaultPosition, wx.Size size=wx.DefaultSize, style = wx.DEFAULT_FRAME_STYEL, string name='frame' )
构造器是一种特殊的函数。

它在对象创建时被调用。

对于我们来说重要的是,我们打算创建一个新的构件时,只要简单的调用它的构造器就行了。

Python 允许参数有默认值。

所以在wx.Frame 中必须的参数就只剩下了parent、id 和title了。

如果你按顺序指定参数的值,
那么你可以不必带上参数的名称。

比如你想创建一个wx.Frame 构件,它没有parent,标识符是100,标题是"Title",位置在(100,50)大小是(100,100):
frame=wx.Frame(None,100,'Title',wx.Point(100,50),wx.Size(100 ,100))
下面我们省略了pos 参数。

所以必须明确的提供size 参数:frame=wx.Frame(None,100,'Title',size=wx.Size(100,100))
下面的例子,我们将使用其它有用的特性。

相关文档
最新文档