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

来源:脚本之家  责任编辑:小易  

主要可以做小程序,爬虫程序,用于系统编程等等还是很广泛的。Python 的应用领域分为下面几类。下文将介绍一些Python 具体能帮我们做的事情。但我们不会对各个工具进行深入探讨,如果你对这些话题感兴趣,请从老男孩python培训网站或其他一些资源中获取更多的信息。1.python可以用于系统编程 Python 对操作系统服务的内置接口,使其成为编写可移植的维护操作系统的管理工具和部件(有时也被称为Shell 工具)的理想工具。Python 程序可以搜索文件和目录树,可以运行其他程序,用进程或线程进行并行处理等等。2.python可以用于用户图形接口Python 的简洁以及快速的开发周期十分适合开发GUI 程序。此外,基于C++ 平台的工具包wxPython GUI API 可以使用Python 构建可移植的GUI。诸如PythonCard 和Dabo 等一些高级工具包是构建在wxPython 和Tkinter 的基础API 之上的。通过适当的库,你可以使用其他的GUI 工具包,例如,Qt、GTK、MFC 和Swing 等。3.python可以用于Internet 脚本Python 提供了标准Internet 模块,使Python 能够广泛地在多种网络任务中发挥作用,无论是在服务器端还是在客户端都是如此。而且网络上还可以获得很多使用Python 进行Internet 编程的第三方工具此外,Python 涌现了许多Web 开发工具包,例如,Django、TurboGears、Pylons、Zope 和WebWare,使Python 能够快速构建功能完善和高质量的网站。4.python可以用于组件集成在介绍Python 作为控制语言时,曾涉及它的组件集成的角色。Python 可以通过C/C++ 系统进行扩展,并能够嵌套C/C++ 系统的特性,使其能够作为一种灵活的粘合语言,脚本化处理其他系统和组件的行为。例如,将一个C库集成到Python 中,能够利用Python 进行测试并调用库中的其他组件;将Python 嵌入到产品中,在不需要重新编译整个产品或分发源代码的情况下,能够进行产品的单独定制。5.python能用于数据库编程对于传统的数据库需求,Python 提供了对所有主流关系数据库系统的接口,Python 定义了一种通过Python 脚本存取SQL 数据库系统的可移植的数据库API,这个API 对于各种底层应用的数据库系统都是统一的。所以一个写给自由软件MySQL 系统的脚本在很大程度上不需改变就可以工作在其他系统上(例如,Oracle)-你仅需要将底层的厂商接口替换掉就可以实现。6.python 可以用于快速原型对于Python 程序来说,使用Python 或C编写的组件看起来都是一样的。正因为如此,我们可以在一开始利用Python 做系统原型,之后再将组件移植到C或C++ 这样的编译语言上。7.python 可以用于数值计算和科学计算编程我们之前提到过的NumPy 数值编程扩展包括很多高级工具,通过将Python 与出于速度考虑而使用编译语言编写的数值计算的常规代码进行集成,其他一些数值计算工具为Python 提供了动画、3D 可视化、并行处理等功能的支持。8.python 可以用于游戏、图像、人工智能、XML、机器人等Python 的应用领域很多,远比这里提到的多得多。例如,可以利用pygame 系统使用Python 对图形和游戏进行编程;用PIL 和其他的一些工具进行图像处理;用PyRo 工具包进行机器人控制编程。当然python能干的事情不止上面这么多领域,相信你在学完老男孩python自动化架构课程就能知道python应用的领域之多了。拓展资料Python(英国发音:/?pa?θ?n/美国发音:/?pa?θɑ?n/),是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。Python是纯粹的自由软件,源代码和解释器CPython遵循 GPL(GNU General Public License)许可。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。7月20日,IEEE发布2017年编程语言排行榜:Python高居首位。2018年3月,该语言作者在邮件列表上宣布 Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持,则需要付费给商业供应商www.zgxue.com防采集请勿采集本网。

一、python gui(图形化)模块介绍:

  Tkinter :是python最简单的图形化模块,总共只有14种组建

作为Python开发者,你迟早都会用到图形用户界面来开发应用。幸运的是,你有很多选择,python wifi GUI编程百科列举了超过30款跨平台框架,以及Pyjamas这样的,基于谷歌Web Toolkit端口的跨浏览器

  Pyqt     :是python最复杂也是使用最广泛的图形化

java一样可以用Qt,python 做界面也是用c\\c++的库:gtk,wx,qt,内含的tk很难看。java写GUI桌面优势不大,甚至不如python,python本身简便,所以,gui开发也不弱,只是在win平台下打包成.exe文件

  Wx       :是python当中居中的一个图形化,学习结构很清晰

基于文本文档(Markdown)设想好需要的基本需要的表、字段、类型;使用 Rails Migration 随着功能的开发逐步创建表;随着细节功能的开发、需求,逐步增加字段,删除字段,或者调整字段类型;第一个 Release

  Pywin   :是python windows 下的模块,摄像头控制(opencv),常用于外挂制作

二、wx模块的安装:

GUI库可以用wxpython或着pyqt,还有一个是pygtk。这个看个人爱好。如果不是商业用的话,pyqt还不错,比较方便。数据库组件有很多,像pysqlite,pymssql等等,看你想用什么数据库。比如想用sql server就直接

C:\Users\Administrator> pip install wxpython

三、图形化介绍

wxPython:wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能键全的 GUI 用户界面。PyQt:是一个创建GUI应用程序的工具包。它是Python编程

 

四、wx主要组件介绍

1、frame(窗口)

参数:

parent = None #父元素,假如为None,代表顶级窗口

id = None #组件的标识,唯一,假如id为-1代表系统分配id

title = None #窗口组件的名称

pos = None #组件的位置,就是组件左上角点距离父组件或者桌面左和上的距离

size = None #组件的尺寸,宽高

style = None #组件的样式

name = None #组件的名称,也是用来标识组件的,但是用于传值

2、TextCtrl(文本框)

参数:

parent = None #父元素,假如为None,代表顶级窗口

id = None #组件的标识,唯一,假如id为-1代表系统分配id

value = None   #文本框当中的内容

         GetValue #获取文本框的值

         SetValue #设置文本框的值

pos = None #组件的位置,就是组件左上角点距离父组件或者桌面左和上的距离

size = None #组件的尺寸,宽高

style = None #组件的样式

validator = None #验证

name = None #组件的名称,也是用来标识组件的,但是用于传值

3、Button(按钮)

参数:

parent = None #父元素,假如为None,代表顶级窗口

id = None #组件的标识,唯一,假如id为-1代表系统分配id

lable = 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界面,在上面文本框中输入文本文件地址,点击“打开”按钮后将文本文件内容显示在下面的文本框中。

1、图形化编写

import wx app = wx.App()frame = wx.Frame(None,title = "Gui Test Editor",pos = (1000,200),size = (500,400)) path_text = wx.TextCtrl(frame,pos = (5,5),size = (350,24))open_button = wx.Button(frame,label = "打开",pos = (370,5),size = (50,24))save_button = wx.Button(frame,label = "保存",pos = (430,5),size = (50,24))content_text= wx.TextCtrl(frame,pos = (5,39),size = (475,300),style = wx.TE_MULTILINE) # wx.TE_MULTILINE可以实现换行功能,若不加此功能文本文档显示为一行显示frame.Show() app.MainLoop()

2、事件绑定

1、定义事件函数

事件函数有且只有一个参数,叫event

def openfile(event): path = path_text.GetValue() with open(path,"r",encoding="utf-8") as f: #encoding 设置文件打开时指定为utf8编码,避免写文件时出现编码错误 content_text.SetValue(f.read())

2、绑定出发事件的条件和组件

open_button.Bind(wx.EVT_BUTTON,openfile)

3、完整代码

#coding:utf-8import wx def openfile(event): # 定义打开文件事件 path = path_text.GetValue() with open(path,"r",encoding="utf-8") as f: # encoding参数是为了在打开文件时将编码转为utf8 content_text.SetValue(f.read()) app = wx.App()frame = wx.Frame(None,title = "Gui Test Editor",pos = (1000,200),size = (500,400)) path_text = wx.TextCtrl(frame,pos = (5,5),size = (350,24))open_button = wx.Button(frame,label = "打开",pos = (370,5),size = (50,24))open_button.Bind(wx.EVT_BUTTON,openfile) # 绑定打开文件事件到open_button按钮上 save_button = wx.Button(frame,label = "保存",pos = (430,5),size = (50,24)) content_text= wx.TextCtrl(frame,pos = (5,39),size = (475,300),style = wx.TE_MULTILINE)# wx.TE_MULTILINE可以实现以滚动条方式多行显示文本,若不加此功能文本文档显示为一行 frame.Show()app.MainLoop()

六、尺寸器

按照上面的GUI代码有一个缺陷,由于我们各个组件都固定了大小,因此在框体拉伸时,对应的组件不会对应进行拉伸,比较影响用户体验。

为了解决上述这个问题,我们可以使用尺寸器进行布局,类似于HTML的CSS样式。

1、BoxSizer(尺寸器) 尺寸器作用于画布(panel) 默认水平布局 垂直布局可以调整 按照相对比例

2、步骤 实例化尺寸器(可以是多个) 添加组件到不同尺寸器中 设置相对比例、填充的样式和方向、边框等参数 设置主尺寸器

3、将上面代码通过尺寸器改写

#coding:utf-8import wx def openfile(event): # 定义打开文件事件 path = path_text.GetValue() with open(path,"r",encoding="utf-8") as f: # encoding参数是为了在打开文件时将编码转为utf8 content_text.SetValue(f.read()) app = wx.App()frame = wx.Frame(None,title = "Gui Test Editor",pos = (1000,200),size = (500,400)) panel = wx.Panel(frame) path_text = wx.TextCtrl(panel)open_button = wx.Button(panel,label = "打开")open_button.Bind(wx.EVT_BUTTON,openfile) # 绑定打开文件事件到open_button按钮上 save_button = wx.Button(panel,label = "保存") content_text= wx.TextCtrl(panel,style = wx.TE_MULTILINE)# wx.TE_MULTILINE可以实现以滚动条方式多行显示文本,若不加此功能文本文档显示为一行 box = wx.BoxSizer() # 不带参数表示默认实例化一个水平尺寸器box.Add(path_text,proportion = 5,flag = wx.EXPAND|wx.ALL,border = 3) # 添加组件 #proportion:相对比例 #flag:填充的样式和方向,wx.EXPAND为完整填充,wx.ALL为填充的方向 #border:边框box.Add(open_button,proportion = 2,flag = wx.EXPAND|wx.ALL,border = 3) # 添加组件box.Add(save_button,proportion = 2,flag = wx.EXPAND|wx.ALL,border = 3) # 添加组件 v_box = wx.BoxSizer(wx.VERTICAL) # wx.VERTICAL参数表示实例化一个垂直尺寸器v_box.Add(box,proportion = 1,flag = wx.EXPAND|wx.ALL,border = 3) # 添加组件v_box.Add(content_text,proportion = 5,flag = wx.EXPAND|wx.ALL,border = 3) # 添加组件 panel.SetSizer(v_box) # 设置主尺寸器 frame.Show()app.MainLoop()

通过尺寸器进行布局,无论宽体如何拉伸,内部的组件都会按比例进行变化。

更多关于python图形开发GUI库wxpython使用方法请查看下面的相关链接

可以0、前言有不少初学者会问,Python 写的程序看起来好丑啊,只能在那个黑黑的框里运行吗?隔壁家的 JS 好像挺好看的,还能有酷炫效果呢…其实呢,术业有专攻,Python 擅长的领域在后台服务器、数据处理、科学计算等方面,以及作为一种工具,搞定各种可以自动化的事情。做界面并不是它的优势项目。但即便如此,本可以靠实力的 Python,偏偏也能靠脸走出一片天。从诞生伊始,就有许多优秀的 GUI 工具集整合到 Python 当中,这些优秀的 GUI 工具集,使得 Python 也可以在图形界面编程领域当中大展身手。而由于 Python 的流行,也从而产生了许多由 Python 结合那些优秀的 GUI 工具集编写的应用程序。今天我们简单分享一些 Python 的图形化界面库及其相关资源,供广大学习者参考。本文涉及的,也是现今主流的 Python 图形化界面主要有以下几种:TkinterPyQtwxPythonPyGTKPySideKivy1、TkinterTkinter 内置于 Python。没错,Tkinter 姓赵。是与 Tk/Tcl 关系最密切的图形库,历史悠久、用户广泛。跨平台运行,windows/macOS/Linux。由于内置,就不用考虑 Python 版本问题了,也算是一大优势。下面是一些 demo:Python发邮件实例,并用Tkinter实现UI-推酷用 Tkinter 编写交互日记系统Tkinter 学习资源:Python GUI编程(Tkinter)-中文教程易佰Introduction to Tkinter-英文教程zetcode官方文档 py2官方文档 py3基于Tkinter的姻缘测试器2、PyQtPyQt 是 Qt 的 Python 版本,Qt 库是最强大的 GUI 库之一,PyQt 有超过620个类以及6000种函数。我想数据已经能表现PyQt的强大了吧!该库适用于 Python2 和 Python3,能在所有桌面平台运行。demo:某大神的仿虾米音乐界面某大神的仿网易云播放器学习资源:官方文档pyqt4 中文文档pyqt4 英文教程pyqt5 英文教程有哪些颜值高的 PyQt/Qt 应用?知乎基于PyQt或PySide开发图形化界面3、wxPythonwxPython 使用 C++ 编写,是目前比较流行的替代 Tkinter 的图形界面,比 Tkinter 重但又比 PyQt 轻。官网上赫然挂着醒目的一句话:Why the hell hasn't wxPython become the standard GUI for Python yet?wxPython 在主流的三大桌面平台都有不错的表现,但目前仅支持 Python2,Python3 需安装 wxPython_phoenix。demo:一个简单的记事本软件python+wxpython 写的音乐播放器学习资源:英文教程官方教程wxpython in actiongithub:ubbn/wxPythongithub:wxWidgets/wxPython4、PyGTKPyGTK 基于 GTK+开发,它提供了一套全面的图形元素创建桌面程序。易用、适合快速原型,许多 Gnome 下的著名应用程序的 GUI 都是使用 PyGTK 实现的,比如 BitTorrent、GIMP和 Gedit。跨桌面平台,但只能在 Python2 上使用,另外该库最后更新日期是 2012 年。demo:PyGTK 做的 Linux Server 管理毕业设计学习资源:英文教程官方文档github:majorsilence/pygtknotebook5、PySide基于 Qt 框架,类似于 PyQt。在 2009 年由 NOKIA 现在由 Riverbank Computing 维护。跨桌面平台,甚至支持 Android 和 Symbian。PySide 有 15 个模块,这些模块提供了强大的工具来处理 GUI,多媒体,XML 文档,网络或数据库。demo:python版弹幕姬学习资源:英文教程Intro to PySide/PyQt:Basic Widgets and Hello,World!Python Central官方教程PySide图形界面开发(一)-bamb00-博客园PySide-Python图形化界面入门教程(一)-ASCII0x03-博客园github:pyside/Examplesgithub:shuge/Qt-Python-Binding-Examples6、KivyKivy 于 2011 年发布,现在依然在不断更新。它最大的优点是不但可以在桌面平台上运行,还可以在移动设备上运行,包括 Android、iOS,甚至是树莓派。而且,Kivy 可以看作许多模块的超集:许多知名的模块如 PyGame、SDL、GStreamer 都是 Kivy 的组成部分。Kivy 的 API更加高级、统一,方便使用。游戏 Deflectouch内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • python用wxpython库实现无边框窗体和透明窗体实现方法详解
  • wxpython自定义下拉列表框过程图解
  • wxpython修改文本框颜色过程解析
  • python wxpython 实现界面跳转功能
  • wxpython多线程防假死与线程间传递消息实例详解
  • wxpython实现按钮切换界面的方法
  • wxpython绘图模块wxpyplot实现数据可视化
  • wxpython+matplotlib绘制折线图表
  • wxpython实现绘图小例子
  • wxpython实现画图板
  • wxpython之wx.dc绘制形状
  • wxpython+pymysql实现用户登陆功能
  • wxpython电子表格功能wx.grid实例教程
  • wxpython实现带颜色的进度条
  • wxpython实现列表增删改查功能
  • wxpython多个窗口的基本结构
  • wxpython实现分隔窗口
  • python图形界面开发之wxpython树控件使用方法详解
  • python使用pygresql操作postgresql数据库教程
  • python爬虫设置代理ip的方法(爬虫技巧)
  • python登录qq邮箱发信的实现代码
  • python实现矩阵和array数组之间的转换
  • python创建子类的方法分析
  • python之inspect模块实现获取加载模块路径的方法
  • python file readlines() 使用方法
  • python常用内置函数总结
  • python使用sqlite3时游标使用方法
  • django框架中间件定义与使用方法案例分析
  • python开发的gui漂亮吗
  • python 适合做什么开发
  • Python 常用的标准库以及第三方库有哪些
  • 郁闷于Python GUI开发,有没有好的框架
  • 郁闷于Python GUI开发,有没有好的框架
  • python 还是Java图形界面
  • python gui中怎么将画的图形一步步显示出来
  • python图形GUI和数据库编程用什么组件好?
  • python开发的gui漂亮吗
  • python gui图形界面
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全vbsdos/bathtahtcpythonperl游戏相关vba远程脚本coldfusionruby专题autoitseraphzonepowershelllinux shellluagolangerlang其它首页pythonpython用wxpython库实现无边框窗体和透明窗体实现方法详解wxpython自定义下拉列表框过程图解wxpython修改文本框颜色过程解析python wxpython 实现界面跳转功能wxpython多线程防假死与线程间传递消息实例详解wxpython实现按钮切换界面的方法wxpython绘图模块wxpyplot实现数据可视化wxpython+matplotlib绘制折线图表wxpython实现绘图小例子wxpython实现画图板wxpython之wx.dc绘制形状wxpython+pymysql实现用户登陆功能wxpython电子表格功能wx.grid实例教程wxpython实现带颜色的进度条wxpython实现列表增删改查功能wxpython多个窗口的基本结构wxpython实现分隔窗口python图形界面开发之wxpython树控件使用方法详解python使用pygresql操作postgresql数据库教程python爬虫设置代理ip的方法(爬虫技巧)python登录qq邮箱发信的实现代码python实现矩阵和array数组之间的转换python创建子类的方法分析python之inspect模块实现获取加载模块路径的方法python file readlines() 使用方法python常用内置函数总结python使用sqlite3时游标使用方法django框架中间件定义与使用方法案例分析python入门教程 超详细1小时学会python 列表(list)操作方法详解python 元组(tuple)操作详解python 字典(dictionary)操作详解pycharm 使用心得(一)安装和首python strip()函数 介绍python 中文乱码问题深入分析python科学计算环境推荐——anacpython逐行读取文件内容的三种方python中使用xlrd、xlwt操作excepython定时器使用示例分享使用pytorch实现mnist手写体识别代码适合python初学者的一些编程技巧python实现的下载8000首儿歌的代码分享对python的多进程锁的使用方法详解在python中利用pandas库处理大数据的简单python实现将excel转换成为image的方法python列表(list)知识点总结django发送邮件和itsdangerous模块的配合linux下远程连接jupyter+pyspark部署教程
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved