欢迎访问宙启技术站
智能推送

PythonGUI函数库:tkinter的使用方法和实例解析

发布时间:2023-06-10 16:24:49

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是非常有意义的。