内容正文:
第十章 图形用户界面开发
Chap10 Python GUI Development
Nanjing University
1
字符用户界面
2
Python
Nanjing University
2
图形用户界面
3
Python
Nanjing University
3
常用GUI开发库
10.1
4
Python
Nanjing University
4
Python的GUI实现
5
Tkinter
PyQT
PyGTK
wxPython
开源软件,具有优秀的跨平台能力。官网:
https://wxpython.org
Python
Nanjing University
5
Tkinter
轻量级的GUI开发库,有最为悠久的历史,著名的 IDLE 用 Tkinter 实现 GUI
基于Tcl脚本语言和Tk开发库创建,通过内嵌在Python解释器内部的Tcl解释器执行同样内嵌在Python的Tk开发库
6
Python
Nanjing University
6
Tkinter的优缺点
7
性能不太好,执行速度慢
Python事实上的GUI标准开发库
创建的 GUI 简单,学起来和用起来也简单
优点
缺点
Python
Nanjing University
7
wxPython
8
跨平台的GUI开发库,可以在各种操作系统上提供原生的视觉效果
基于用C++实现的wxWidgets GUI开发库
$ pip install -i https://pypi.tuna.tsinghua.edu.cn/simple wxpython
Python
Nanjing University
8
wxPython的优缺点
9
版本更新较慢
跨平台
平台适应性好
优点
缺点
Python
Nanjing University
9
PyQt
是Qt框架的Python绑定,得益于Qt强大的框架,PyQt已经超越了一个完整GUI开发库的范畴,提供很多非GUI的基础功能
在具有C++经验的开发人员中非常流行
10
Python
Nanjing University
10
PyQT的优缺点
11
要注意避免内存泄露
运行时庞大
需要学习一些C++知识
与Qt、C++开发经验互通
可使用大多数为Qt开发的组件
有方便的周边工具支持PyQt
优点
缺点
Python
Nanjing University
11
PyGTK
是一套 GTK封装的GUI开发库
由于它底层绑定的是GTK+,PyGTK在Linux下能够提供和著名的Gnome桌面环境一致的视觉效果
12
Python
Nanjing University
12
PyGTK的优缺点
13
在Windows平台表现不太好
底层的GTK+提供了各式的可视元素和功能
能开发在GNOME桌面系统运行的功能完整的软件
优点
缺点
Python
Nanjing University
13
GUI开发
14
10.2
Python
Nanjing University
14
10.2.1 一个最简单的GUI程序
15
Python
Nanjing University
创建一个简单的wxPython程序
# Filename: prog10-1.py
import wx
app = wx.App()
frame = wx.Frame(None, title = "Hello, World!")
frame.Show(True)
app.MainLoop()
File
16
Python
Nanjing University
16
创建一个GUI程序最基本的步骤
17
①导入wxpython模块
import wx
②创建一个wx.App的实例app,代表当前这个应用程序,有且仅有一个
app = wx.App()
③创建一个wx.Frame对象frame,代表应用程序窗口,至少有一个
frame = wx.Frame(None, title = "Hello, World!")
④让窗口显示在屏幕上
frame.Show(True)
⑤进入一个主事件处理循环,让窗口处于等待状态,接收用户的点击或输入等事件引发对象完成某种功能
app.MainLoop()
Python
Nanjing University
17
wx.Frame的__init__()方法
18
定义如下:
Frame __init__(self, parent, id, title, pos, size, style, name)
self和parent这两个参数必须给出,parent表示父窗口,如果没有父窗口参数设置为None。
Python
Nanjing University
18
# Filename: pr