首页 > 编程语言 >Python如何开发桌面应用程序?Python基础教程,第十三讲,图形界面

Python如何开发桌面应用程序?Python基础教程,第十三讲,图形界面

时间:2023-08-04 12:34:30浏览次数:34  
标签:桌面 Python 图形界面 wxpython 文档 基础教程 界面 GUI

当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?行业内专业的桌面应用程序开发一般是C++,C#来做,Java开发的也有,但是比较少。本节课会介绍Python的GUI(图形用户界面)编程,用Python也可以写出漂亮的桌面程序,建议此次课程大家稍作了解不要浪费太多时间,因为没有哪家公司会招聘以为Python程序员开发桌面程序吧?
学完此次课程,我能做什么?
学完本次课程,大家可以完成一个简易的记事本编辑器。

学习此次课程,需要多久?
15-20分钟

课程内容
首先看一下目前有哪些主流的GUI平台。
Tkinter:使用Tk平台,支持大多数的Unix系统,同时可以在Windows和Mac下运行,是Python的标准界面库,但是由于界面丑陋,文档极差而被开发者吐槽。

wxpython:拥有成熟和丰富的包,跨平台,可在Unix,Windows,Mac下运行,入门简单,文档写的很详细,再加上官方的Demo大全,确实给初学者降低难度,可以作为入门学习的首选库。

PythonWin:只能在Windows上使用,调用windows的GUI,如果要做跨平台的应用程序,显然不会选择它。

PyGTK:使用GTK平台,Linux系统上使用较多,跨平台。

PyQt:优点界面美观,多个平台,文档和教程丰富。但是商业化使用有版权的问题,需要授权,体积相对较大。

由于wxpython比较受欢迎,今天我们一起来学习一下这个GUI平台。
1.安装 wxpython

pip3 install -U wxPython

其他版本的请到wxPython官网下载,百度wxpython直达。

2.入门程序 Hello World。

运行结果如下,弹出了一个窗口,标题为Hello World

安装好界面库以后,我们先实现第一入门程序,在桌面程序中输出Hello world。

3.代码分析

先创建一个程序

app = wx.App()

创建完程序,下一步就是创建一个窗口(Frame)

win = app.Frame(None)

创建完成窗口,我们想要显示结果怎么办?(Show)

win.show()

最后运行主程序MainLoop()

app.MainLoop()

逻辑还是比较清晰的。

具体每个方法包含了,哪些参数,大家可以看一下文档说的很清楚。

如何做一个记事本?

其实,画界面真没有太多要讲的,大多就是看文档,了解每个参数和方法的含义。上面的代码语义也很清楚,添加按钮,添加文本框,设置位置大小,多行,滚动条。

密密麻麻的文档,对界面库感兴趣的可以仔细了解一下。

界面画好了,功能如何实现呢?

看上去代码量很有点多,但是其实仔细分析一下很简单,先定义两个方法,当点击按钮时触发,按钮布局画完后,使用Bind()方法,绑定到相应的函数即可。函数内部是我们上节课学习的文件读写操作。

简单看一下离线文档和Demo

文档中详细的说明了每个参数的含义。

富文本编辑器

200+的Demo,如果把这些都看明白,一定是GUI的大神了。

小结
Python写界面库,如果没有特别大的兴趣,点到为止,了解一下就可以了。

标签:桌面,Python,图形界面,wxpython,文档,基础教程,界面,GUI
From: https://www.cnblogs.com/bzjvip/p/17605570.html

相关文章

  • Python | 开源项目you-get的下载和使用
    安装前提条件建议使用以下依赖项:PythonFFmpeg(可选)RTMPDump$pythonPython3.9.11(tags/v3.9.11:2de452f,Mar162022,14:33:45)[MSCv.192964bit(AMD64)]onwin32Type"help","copyright","credits"or"license"formoreinformat......
  • python--compile、exec、eval函数使用
    compile(source,filename,mode,flags=0,dont_inherit=False,optimize=-1)参数说明:source:字符串或AST对象,表示需要进行编译的python代码filename:指定需要编译的代码文件,如果不是文件读取代码则传递一些可辨认的值.mode:用于标识必须当做那类代表来编译;(如果source是......
  • python调用RabbitMQ
    本文不涉及较难的操作,仅仅提供常用的生产消息和消费消息的方式。--好像也没啥花里胡哨的操作1、准备想要python调用rabbitMQ需要安装pika,所有需要提前安装好pika包#全局pipinstallpika;#如果用的anaconda的上面那个装不上可以试试这个?condainstallpika;2、代......
  • python 操作oracle
    表DDL--"C##TAPDATA_TEST".ALAM3definitionCREATETABLE"C##TAPDATA_TEST"."ALAM3"( "UID1"VARCHAR2(100)NOTNULLENABLE, "UID2"VARCHAR2(100)NOTNULLENABLE, "COLUMN1"VARCHAR2(100),......
  • 希尔排序的Python实现,并逐行解释代码
    当然,我可以为您提供希尔排序的Python实现,并逐行解释代码。以下是一个示例:defshell_sort(arr):n=len(arr)gap=n//2#初始化间隔whilegap>0:foriinrange(gap,n):temp=arr[i]j=i#对间隔为gap......
  • Python爬虫遇到重定向问题解决办法汇总
    在进行Python爬虫任务时,遇到重定向问题是常见的问题之一。重定向是指在发送请求时,服务器会返回一个新的URL,将请求重新定向到该URL。为了帮助您解决这个问题,本文将提供一些实用的解决办法,并给出相关的代码示例,希望能对您的爬虫任务有所帮助。了解重定向问题重定向问题通常是由于网......
  • python教程 入门学习笔记 第6天 数据类型转换 字符串转换成数值 数值之间互转 其它类
    4、数据类型转换1)字符串转换成数值:int()-----------将值转换成整数float()-----------将值转换成小数str()-----------将值转换成字符串bool()-----------将值转换成布尔值例如:int()将值转换成整数s1="188"#字符串ns1=int(s1)#转换成整型数值print(ns1+8)#打印数......
  • 配置pytorch环境时出现的问题 Failed to load image Python extension
    安装了torch1.12.0+torchvision0.13.0+torchaudio0.12.0版本后,condainstallpytorch==1.12.0torchvision==0.13.0torchaudio==0.12.0cudatoolkit=11.3-cpytorch按照《动手学深度学习》输入 fromd2limporttorchasd2l命令,跳出警告UserWarning:Failed......
  • 100道Python练习题
    100道Python练习题,希望对你的学习有所帮助!编写一个程序,输入两个数并计算它们的和。编写一个程序,输入一个字符串,并倒序输出该字符串。编写一个程序,判断一个数是否为质数。编写一个程序,计算并输出斐波那契数列的前n项(n由用户输入)。编写一个程序,判断一个字符串是否为回文串。编写一个......
  • python实现单例的几种方式
    单例模式单例模式(SingletonPattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个AppConfig的类来读取配置文......