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应用程序的方法。