Python示例
Python是一种通用的编程语言,可用于实现不同类型的应用程序。它有许多类型的模块来创建基于GUI(图形用户界面)的应用程序。Python tkinter就是其中之一。任何桌面应用程序都可以使用tkinter模块轻松实现。如果你有基本的Python编程知识,那么学习Python tkinter模块的用法会更好。本教程展示了Python tkinter模块创建GUI应用程序的不同用法。
安装Tkinter模块
默认情况下,Python不安装tkinter模块。所以,你必须运行以下命令在Python 3+版本中安装tkinter模块:
$ sudo apt install python3-tk
不同的Tkinter Widgets
tkinter模块包含用于各种目的的各种小部件。
部件名称 | 目的 |
标签 | 它用于为用户显示帮助信息。 |
按钮 | 它用于在应用程序中添加不同的按钮。 |
框架 | 它的工作原理类似于一个小部件容器,其中包含不同类型的小部件来设计一个有组织的表单。 |
条目 | 它用于从用户处获取单行文本。 |
Checkbutton | 它用于添加复选框按钮,以便从多个选项中接收来自用户的多个输入。 |
Radiobutton | 它用于添加单选按钮,以便从多个选项中获取来自用户的单个输入。 |
组合框按钮 | 它用于添加一个下拉列表,以便从多个选项中获取用户的单个输入。 |
列表框 | 它用于添加一个列表框,以便从多个选项中接收来自用户的多个输入。 |
文本 | 它用于从用户处获取多行文本。 |
消息 | 它用于为用户显示消息窗口。 |
滚动条 | 它用于在窗口中添加滚动条以上下滚动窗口。 |
Menubutton | 它用于向用户显示菜单。 |
菜单 | 它用于向用户显示菜单项。 |
PanedWindow | 它的工作方式类似于包含水平和垂直窗格的小部件容器。 |
选项卡 | 它用于在应用程序中添加选项卡窗口。 |
不同类型的例子
下面的示例展示了一些常见的tkinter小部件的用法。
示例1:创建一个简单的GUI应用程序
创建一个Python文件,包含以下内容,在屏幕中央显示一个对话框,带有标题和特定的高度和宽度:
#导入必要模块
从tkinter import *
为窗口创建对象
tkobj = Tk()
设置窗口的标题
tkobj。标题(“学习模式”)
#设置窗口的高度和宽度
tkobj.geometry (300 x150)
#设置窗口的显示位置
tkobj。eval (tk:: PlaceWindow。中心”)
#运行Tkinter
tkobj.mainloop ()
输出:
执行脚本后出现以下输出。弹出标题为“学习tkinter模块”的对话框:
示例2:标签和按钮的使用
用下面的脚本创建一个Python文件,显示一个带有标签和对话框的窗口:
#导入必要模块
从tkinter import *
为窗口创建一个对象
tkobj = Tk()
设置窗口的标题
tkobj。标题(“学习模式”)
#设置窗口的高度和宽度
tkobj.geometry (400 x150)
#定义标签对象
lbl = Label(tkobj, text="这是一个简单的窗口")
#添加标签到窗口
lbl。包(ipadx = 30, ipady = 20)
#定义按钮对象
btn = Button(tkobj, text="Click me")
#添加按钮到窗口与位置
btn。包(ipadx = 30, ipady = 10)
#设置窗口的显示位置
tkobj。eval (tk:: PlaceWindow。中心”)
#运行Tkinter
tkobj.mainloop ()
输出:
执行脚本后,屏幕中央将出现一个带有标签和按钮的窗口。
例3:设置字体颜色和背景颜色
使用以下脚本创建一个Python文件,该文件显示一个带有标签和彩色按钮的窗口。这里,background属性用于设置按钮的背景色,而foreground属性用于设置按钮的字体颜色:
#导入必要模块
从tkinter import *
为窗口创建一个对象
tkobj = Tk()
设置窗口的标题
tkobj。标题(“学习模式”)
#设置窗口的高度和宽度
tkobj.geometry (400 x150)
#定义标签对象
lbl = Label(tkobj, text="设置背景和前景色")
#添加标签到窗口
lbl。包(ipadx = 30, ipady = 20)
定义具有背景色和前景色的按钮对象
btn = Button(tkobj, text="Click me", background="blue", foreground="red")
#添加按钮到窗口与位置
btn。包(ipadx = 30, ipady = 8)
#设置窗口的显示位置
tkobj。eval (tk:: PlaceWindow。中心”)
#运行Tkinter
tkobj.mainloop ()
输出:
脚本执行完成后,系统显示如下界面:
例4:Frame的使用
在下面的Python脚本中,在框架小部件中显示了一个标签和两个按钮。用脚本创建一个Python文件来检查输出:
#导入必要模块
从tkinter import *
为窗口创建一个对象
tkobj = Tk()
设置窗口的标题
tkobj。标题(“tkinter模块”)
#设置窗口的高度和宽度
tkobj.geometry (250 x100)
#定义框架对象
frm = Frame(tkobj)
frm.pack ()
lframe = Frame(tkobj)
lframe.pack(左端=)
rframe = Frame(tkobj)
rframe.pack(一边=)
#在框架内定义标签
lbl = Label(from, text="Use of Frame", fg="blue")
lbl.pack ()
#在框架内定义按钮
btn1 = Button(lframe, text="", fg="black", bg="white")
btn2.pack(一边=)
#设置窗口的显示位置
tkobj。eval (tk:: PlaceWindow。中心”)
#运行Tkinter
tkobj.mainloop ()
输出:
执行脚本后显示如下:
例5:处理按钮事件
消息框的使用如下面的脚本所示。点击按钮后,弹出提示框:
#导入必要的模块
从tkinter import *
从tkinter导入消息框
为窗口创建一个对象
tkobj = Tk()
设置窗口的标题
tkobj。标题(“学习模式”)
#设置窗口的高度和宽度
tkobj.geometry (400 x150)
定义一个显示消息框的函数
def显示():
对话框。showinfo(“信息”,“按钮被点击”)
#创建标签文本的字体颜色,样式和位置
标签(tkobj, text="桌面应用使用tkinter.", fg="green").pack(pdy =25)
创建一个带有按钮处理程序的按钮
按钮(tkobj, text="Show Message", command=display).pack()
#设置窗口的显示位置
tkobj。eval (tk:: PlaceWindow。中心”)
#运行Tkinter
tkobj.mainloop ()
输出:
脚本执行完成后,系统显示如下界面:
按下按钮后出现如下提示框:
例6:从用户获取输入
tkinter模块中有多个小部件可用于接收用户的输入。下面的脚本显示了最常见小部件的用法。用下面的代码创建一个Python文件来检查输出:
#导入必要的模块
从tkinter import *
从tkinter。ttk导入组合框
从tkinter导入TTK
导入tkinter为tk
从tkinter导入消息框
#创建kinter对象
tkobj = Tk()
设置窗口的标题
tkobj。标题(“用户资料表格”)
#设置窗口的高度和宽度
tkobj.geometry (550 x320)
定义一个函数来显示表单值
def display_values ():
#读取单行文本
name = " name: " + name_value .get() + "n"
#读取选中的单选按钮值
如果gender.get() == 1:
g =“男性”
其他:
g =“女性”
g = "性别:" + g + "n"
#读取选中的复选框值
game = ""
如果g1.get() == 1:
游戏= "板球"
如果g2.get() == 1:
if game != "":
game += ", " + "Football"
其他:
game = "Football"
如果g3.get() == 1:
if game != "":
game += ", " + "Basketball"
其他:
game = "篮球"
game = " game: " + game + "n"
#读取组合框值
country = " country: " + countryVal.get() + "n"
#读取多行文本
地址= "地址:" + addr.get(“1.0”,“结束”)+“ n”
#合并所有字段的值
form_values =姓名+ g +游戏+国家+地址
#在消息框中显示值
对话框。showinfo(“用户信息详细信息”,form_values)
#创建标签和name字段
标签(tkobj, text="Name: ")。地方(x = 100, y = 20)
name_val = StringVar()
ttk。条目(tkobj textvariable = name_val)。包(padx = 220, pady = 20)
#创建标签和单选按钮
标签(tkobj, text="Gender: ")。地方(x = 100, y = 60)
性别= IntVar()
gender.set (1)
单选按钮(tkobj, text="Male", variable=gender, value=1)。地方(x = 210, y = 60)
单选按钮(tkobj, text="Female", variable=gender, value=2)。地方(x = 290, y = 60)
创建一个标签和复选框按钮
标签(tkobj, text="最喜欢的游戏")。地方(x = 100, y = 100)
g1 = IntVar()
g2 = IntVar()
g3 = IntVar()
Checkbutton(tkobj, text="Cricket", variable=g1)。地方(x = 210, y = 100)
Checkbutton(tkobj, text="Football", variable=g2)。地方(x = 290, y = 100)
Checkbutton(tkobj, text="Basketball", variable=g3)。地方(x = 380, y = 100)
#定义元组值
data =("孟加拉国","日本","美国")
#创建标签和组合框
标签(tkobj, text="国家:")。地方(x = 100, y = 140)
countryVal = StringVar()
组合框(tkobj, values=data, textvariable=countryVal)。地方(x = 220, y = 140)
#创建标签和文本字段
标签(tkobj, text="Address: ")。地方(x = 100, y = 180)
地址= (tk.)Text(tkobj, height=3, width=20))
addr。地方(x = 220, y = 180)
创建一个带有按钮处理程序的按钮
按钮(tkobj, text="Submit", command=display_values)。地方(x = 250, y = 250)
#运行Tkinter
tkobj.mainloop ()
输出:
脚本执行完成后,系统显示如下界面:
填写表格的字段,然后按“提交”按钮。
将出现以下消息框,其中包含提交的值:
结论
本教程使用多个示例展示了使用Python tkinter模块创建GUI应用程序的方法。