PythonGUI函数库:tkinter的使用方法和实例解析
Python的GUI函数库中,最常用的就是tkinter(Tk Interface)。它是Python自带的GUI函数库,被广泛应用于Python程序的开发中。本文将简要介绍tkinter的使用方法和实例解析。
一、tkinter的简介
tkinter是Python自带的GUI函数库,它提供了一套标准的GUI工具包,可以在Python程序中快速实现一个图形界面,并与用户进行交互。
使用tkinter,可以方便地实现诸如窗口、按钮、输入框、文本框、复选框、单选框、菜单等各种常用的GUI元素。而且由于它是Python自带的库,因此不需要额外安装任何软件包,使用起来非常便利。
二、tkinter的使用
1、导入tkinter库
使用tkinter之前,首先要先导入tkinter库。在Python中,对于不同的版本,导入的方式也有所不同。一般来说,Python2.x版本中使用如下方式导入:
import Tkinter
而Python3.x中使用以下方式导入:
import tkinter
2、创建窗口
在使用tkinter创建GUI界面时,首先需要创建一个窗口,这个窗口就是整个程序的主界面。
在Python中,创建窗口的方式为:
root = Tk() # 创建主窗口
其中,Tk()是tkinter里一个主要函数,它返回的是一个顶级窗口(Top-level window)。
3、显示窗口
创建好窗口后,还需要将窗口显示出来。这可以通过调用窗口对象的mainloop()方法来实现。
例:
from tkinter import *
root = Tk() # 创建主窗口
root.mainloop() # 显示窗口
这样,可以看到一个空白的窗口。窗口的大小默认是200x200像素。
4、添加控件
创建好窗口后,需要在窗口中添加各种控件,比如按钮、标签、输入框等。tkinter提供了各种类来创建不同的控件。
比如创建一个简单的按钮,代码如下:
from tkinter import *
root = Tk() # 创建主窗口
btn = Button(root) # 创建按钮
btn.pack() # 将按钮放到主窗口上
root.mainloop() # 显示窗口
在这个例子中,我们首先创建一个按钮对象(Button),然后调用它的pack()方法将它放上主窗口中。pack()是一个布局管理器,用于将布局中的控件放到指定的位置上。
可以根据需要调整控件的位置、大小、颜色等其他属性来实现不同的效果。
三、tkinter的实例解析
1、窗口属性设置
下面的例子演示了如何设置窗口的属性,包括窗口的标题、大小和位置等。
from tkinter import *
root = Tk()
root.title("窗口标题") # 设置窗口标题
root.geometry("200x200+100+100") # 设置窗口大小和位置
root.resizable(False, False) # 设置窗口不可调整大小
root.mainloop()
在这个例子中,先用title()函数设置了窗口的标题。然后使用geometry()函数设置窗口的大小和位置,其中参数“200x200”表示窗口大小为200x200像素,“+100+100”表示窗口在屏幕上的位置。最后调用resizable()函数使窗口不能改变大小。
2、按钮控件
以下是一个按钮控件的例子:
from tkinter import *
def onClick():
print("Hello World!")
root = Tk()
btn = Button(root, text="点击", command=onClick) # 创建一个按钮
btn.pack() # 将按钮放到主窗口上
root.mainloop()
在这个例子中,我们创建了一个按钮对象。通过参数“text”设置了按钮上的文本。使用command参数指定按钮被点击时对应的函数。当用户点击这个按钮时,就会执行onClick()函数,输出“Hello World!”。
3、文本框控件
以下是一个文本框控件的例子:
from tkinter import *
root = Tk()
text = Text(root, width=30, height=5) # 创建一个文本框
text.pack() # 将文本框放到主窗口上
text.insert(END, "Hello World!") # 在文本框中插入内容
root.mainloop()
在这个例子中,我们创建了一个宽度为30,高度为5的文本框。使用pack()函数将文本框放到主窗口上。然后使用insert()函数向文本框中插入一些文本。
4、菜单控件
以下是一个简单的菜单控件的例子:
from tkinter import *
root = Tk()
menu = Menu(root) # 创建一个菜单
root.config(menu=menu) # 将菜单添加到主窗口
fileMenu = Menu(menu) # 创建一个子菜单
menu.add_cascade(label="文件", menu=fileMenu) # 将子菜单添加到菜单上
fileMenu.add_command(label="新建") # 添加一个选项
fileMenu.add_command(label="打开") # 添加一个选项
fileMenu.add_separator() # 添加一个分隔线
fileMenu.add_command(label="退出") # 添加一个选项
root.mainloop()
在这个例子中,我们创建了一个菜单(Menu)。通过add_cascade()方法将一个子菜单(fileMenu)添加到菜单上。使用add_command()方法向子菜单中添加选项。使用add_separator()方法添加一个分隔线。
总结:
总之,tkinter是Python中一个很强大、易于使用的GUI库,它提供了足够的功能和灵活性,可以满足大多数GUI设计的需求。对于Python初学者而言,学习tkinter是非常有意义的。
