摘要:教你如何使用Python内置的Tkinter,创建第一个GUI程序。
*写在前面:为了更好的学习python,博主记录下自己的学习路程。本学习笔记基于廖雪峰的Python教程,如有侵权,请告知删除。欢迎与博主一起学习Pythonヽ( ̄▽ ̄)ノ *
目录
图形界面
Tkinter
图形界面
Python支持多种图形界面的第三方库,包括Tk,wxWidgets,Qt,GTK等。
本文介绍如何使用Tkinter进行GUI编程。
Python内置了Tkinter,Tkinter封装了访问图形库Tk的接口,通过Tkinter就能完成简单的GUI编程。
Tkinter
创建一个GUI程序的步骤如下:
1.导入Tkinter模块;
2.创建一个继承Frame的类(Frame是用来放控件的容器,你可以理解为一个矩形框架);
3.创建控件
4.指定控件的master;
5.启动消息循环
第一个GUI程序:
from tkinter import * # 引入Tkinter包的所有内容
class A(Frame): # 定义一个Frame类
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack() # 把控件放到主界面,实现布局
self.createWidgets() # 调用创建控件的方法
def createWidgets(self):
self.helloLabel = Label(self, text='Hello,world!') # 创建label控件,用于显示文本或位图
self.helloLabel.pack() # 把label控件放到主界面
self.quitButton = Button(self, text='Quit', command=self.quit) # 创建button控件,用于退出
self.quitButton.pack()
app = A() # 实例化A
app.master.title('The first GUI') # 设置窗口标题
app.master.geometry('200x100') # 设置窗口大小
app.mainloop() # 启动消息循环
结果显示如下:
第一个GUI程序
当然,还能加入其它很多控件,如加入文本框,让用户输入文本,然后显示信息。
这时候我们需要引入一个messagebox模块,具体代码()如下:
from tkinter import *
import tkinter.messagebox as messagebox
class A(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
def createWidgets(self):
self.nameInput = Entry(self) # Entry让用户输入文本
self.nameInput.pack()
self.alertButton = Button(self, text='Hello', command=self.hello) # 加入button控件,按钮嗲用hello方法
self.alertButton.pack()
def hello(self):
name = self.nameInput.get() or 'world' # 拿取用户输入的文本
messagebox.showinfo('Message', 'Hello, %s' % name) # 弹出消息对话框
app = A()
app.master.title('Hello World')
app.mainloop()
结果显示如下:
第一个GUI程序
核心控件介绍:
控件名称 | 功能 |
---|---|
Button | 按钮控件,创建一个按钮 |
Canvas | 绘图控件,用于显示图形或文本 |
Checkbutton | 多选框控件,显示一个多项选择框 |
Entry | 输入控件,让用户输入文本 |
Text | 文本控件,显示多行文本 |
Frame | 框架控件,存放控件的容器 |
Label | 标签控件,用于显示文字或位图 |
Listbox | 列表框控件,显示字符串列表 |
Menu | 菜单控件,显示菜单栏 |
Menubutton | 菜单按钮控件,显示菜单项 |
Message | 消息控件,显示多行文本,与label类似 |
Radiobutton | 单选框控件,显示一个单向选择框 |
Scale | 范围控件,创建一个滑块用于设置一个范围数值 |
Scrollbar | 滚动条框架,当界面超过可视化区域时使用 |
Toplevel | 容器框架,用于创建子窗口 |
Python内置的Tkinter可以满足基本的GUI程序的要求,如果是非常复杂的GUI程序,建议用操作系统原生支持的语言和库来编写。
以上就是本节的全部内容,感谢你的阅读。
下一节内容:网络编程
有任何问题与想法,欢迎评论与吐槽。
和博主一起学习Python吧( ̄▽ ̄)~*