0 概述
Python中有许多GUI模块可以用于开发GUI程序。最简单的有Turtle,然而它并不能用来创建图形用户界面。用于开发GUI的库主要有以下几种:
- Tkinter:Python**内置**的标准GUI库,是一种小巧的开发库,开发速度快,在小型程序中仍有不少应用。它支持跨平台。
- PyGTK:用C语言写的跨平台的GUI库,现在GTK已发展成了功能强大窗体丰富的GUI库。著名的GNOME即基于GTK。PyGTK提供了通过Python语言来访问GTK图形库的接口,所以在使用PyGTK之前需要安装GTK开发环境。
- PyQt:拥有丰富的窗体部件。QT现在已经扩展成一个跨平台的应用开发框架。PyQt提供Python访问Qt的图形开发库接口。
- WxPython:开源框架,同样具有跨平台性。WxPython将GUI图形界面开发库wxWidgets和Python语言绑定。有丰富的窗体部件,使用户可以快速创建功能强大、界面元素丰富的GUI应用程序。
这里主要介绍Tkinter
1 开始使用Tkinter
from tkinter import *
window = Tk() #创建一个窗口
label = Label(window, text = "Wellcome to Python") # 创建一个带文本的标签
button = Button(window, text = "Click Me") # 创建一个按钮
label.pack() # 把标签放在窗口中
button.pack() # 把按钮放在窗口中
# 包管理器将小构件一行一行地放在窗口之中
window.mainloop() # 创建一个事件循环,持续处理事件直到关闭主窗口
2 事件处理
from tkinter import *
def processOK(): # 回调函数
print("OK button is clicked")
def processCancel():
print("Cancel button is clicked")
window = Tk()
btOK = Button(window, text = "OK", fg = "red", command = processOK)
btCancel = Button(window, text = "Cancel", bg = "yellow",
command = processCancel)
# fg前景色(文字颜色),默认黑色
# bg背景色(背景颜色),默认灰色
btOK.pack()
btCancel.pack()
window.mainloop()
将函数放到类中:
from tkinter import *
class ProcessButtonEvent:
"""docstring for ProcessButtonEvent"""
def __init__(self):
window = Tk()
btOK = Button(window, text = "OK", fg = "red",
command = self.processOK)
btCancel = Button(window, text = "Cancel", bg = "yellow",
command = self.processCancel)
btOK.pack()
btCancel.pack()
window.mainloop()
def processOK(self): # 回调函数
print("OK button is clicked")
def processCancel(self):
print("Cancel button is clicked")
ProcessButtonEvent()
3 小构件
Tkinter中的小部件如下:
Button按钮Canvas画布CheckButton复选框Entry输入框Frame容器,可将其他小部件放到里面Label显示文本或图像Menu实现下拉菜单或弹出菜单的菜单栏Menubutton下拉菜单项Message类似Label,但是能自动将文本放置在给定的宽度或宽高比内Radiobutton单选框Text格式化的文本显示,允许不同风格和属性显示和编辑文本,也支持内嵌的图片和窗口
一些属性:
- 默认情况下,label或button上的文本是居中的。可以设置
justify属性改变对齐方式,如LEFT,RIGHT,CENTER cursor光标的形状设定:可以设置cursor选项指定光标形状,如arrow,circle,cross

本文详细介绍了Python的Tkinter库,包括如何开始使用Tkinter,事件处理,各种小构件的运用,画布操作,几何管理器,图像显示,菜单功能,鼠标和按键事件绑定,动画实现,滚动条的使用以及对话框的应用。Tkinter作为Python内置的GUI库,适合快速开发小型GUI程序。
最低0.47元/天 解锁文章
9236

被折叠的 条评论
为什么被折叠?



