• Python 图形化界面基础篇:打开和关闭新窗口


    引言

    Python 图形用户界面( GUI )应用程序中,创建和管理多个窗口是一项重要的任务。这些窗口可以用于不同的用途,例如显示附加信息、执行特定操作或以其他方式改善用户体验。在本文中,我们将深入研究如何使用 PythonTkinter 库来打开和关闭新窗口,并演示如何在应用程序中实现这些功能。

    Tkinter 库简介

    TkinterPython 标准库中的一个模块,用于创建 GUI 应用程序。它提供了一组工具和组件,用于构建窗口、按钮、标签、文本框等 GUI 元素,并且支持事件处理机制,可以监听和响应用户的交互操作。

    步骤1:导入 Tkinter 模块

    首先,请确保你的 Python 环境已经安装了 Tkinter 库。然后,在你的 Python 脚本中导入 Tkinter 模块,以便使用 Tkinter 库的功能。

    import tkinter as tk
    
    • 1

    步骤2:创建 Tkinter 窗口

    在使用 Tkinter 创建 GUI 应用程序时,首先需要创建一个 Tkinter 窗口对象,通常称之为 root 。这个窗口将充当应用程序的主窗口。

    root = tk.Tk()
    root.title("打开和关闭新窗口示例")
    
    • 1
    • 2

    在上面的代码中,我们创建了一个 Tkinter 窗口对象 root ,并设置了窗口的标题为"打开和关闭新窗口示例"。

    步骤3:创建一个新窗口

    要创建一个新窗口,我们需要创建一个新的 Tkinter 窗口对象。这个新窗口可以包含任何我们想要显示的内容,例如标签、按钮、文本框等。

    以下是一个示例,演示如何创建一个新窗口并添加一个标签:

    def open_new_window():
        new_window = tk.Toplevel(root)
        new_window.title("新窗口")
        
        label = tk.Label(new_window, text="这是一个新窗口")
        label.pack()
    
    # 创建一个按钮,用于打开新窗口
    open_button = tk.Button(root, text="打开新窗口", command=open_new_window)
    open_button.pack()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在上述示例中,我们定义了一个名为 open_new_window 的函数,该函数创建了一个新的 Tkinter 窗口对象 new_window ,并设置了窗口的标题为"新窗口"。然后,我们在新窗口中添加了一个标签 label ,用于显示文本"这是一个新窗口"。最后,我们创建了一个按钮 open_button ,当用户点击按钮时,将调用 open_new_window 函数以打开新窗口。

    步骤4:关闭新窗口

    要关闭新窗口,我们可以使用 destroy() 方法来销毁窗口对象。这将关闭窗口并释放与之相关的资源。

    以下是一个示例,演示如何在新窗口中添加一个关闭按钮,以便用户可以关闭窗口:

    def close_window(window):
        window.destroy()
    
    # 在新窗口中创建一个关闭按钮
    close_button = tk.Button(new_window, text="关闭窗口", command=lambda: close_window(new_window))
    close_button.pack()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在上述示例中,我们定义了一个名为 close_window 的函数,该函数接受一个窗口对象 window 作为参数,并使用 destroy() 方法关闭窗口。然后,我们在新窗口中创建了一个按钮 close_button ,当用户点击按钮时,将调用 close_window 函数以关闭新窗口。

    步骤5:启动 Tkinter 主事件循环

    最后一步是启动 Tkinter 的主事件循环,这将使窗口变得可交互,允许用户打开和关闭新窗口。

    root.mainloop()
    
    • 1

    完整示例代码

    下面是一个完整的示例代码,展示了如何创建一个 Tkinter 窗口、按钮,以及如何打开和关闭新窗口:

    import tkinter as tk
    
    def open_new_window():
        new_window = tk.Toplevel(root)
        new_window.title("新窗口")
        
        label = tk.Label(new_window, text="这是一个新窗口")
        label.pack()
    
    def close_window(window):
        window.destroy()
    
    # 创建Tkinter窗口
    root = tk.Tk()
    root.title("打开和关闭新窗口示例")
    
    # 创建一个按钮,用于打开新窗口
    open_button = tk.Button(root, text="打开新窗口", command=open_new_window)
    open_button.pack()
    
    # 启动Tkinter主事件循环
    root.mainloop()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    效果图:
    在这里插入图片描述
    在这里插入图片描述

    代码解释

    让我们逐行解释上面的代码:

    • 我们导入了 Tkinter 模块,以便使用 Tkinter 库的功能。

    • 创建了一个 Tkinter 窗口对象 root ,并设置了窗口的标题为"打开和关闭新窗口示例"。

    • 定义了一个名为 open_new_window 的函数,该函数创建了一个新的 Tkinter 窗口对象 new_window ,并在其中添加了一个标签 label ,用于显示文本"这是一个新窗口"。

    • 创建了一个按钮 open_button ,当用户点击按钮时,将调用 open_new_window 函数以打开新窗口。

    • 在新窗口中定义了一个名为 close_window 的函数,该函数接受一个窗口对象 window 作为参数,并使用 destroy() 方法关闭窗口。

    • 在新窗口中创建了一个按钮 close_button ,当用户点击按钮时,将调用 close_window 函数以关闭新窗口。

    • 最后,启动了 Tkinter 的主事件循环,使窗口变得可交互。

    结论

    在本文中,我们学习了如何使用 PythonTkinter 库来打开和关闭新窗口。创建和管理多个窗口是 GUI 应用程序开发中的重要部分,可以用于改善用户体验,显示附加信息或执行特定操作。 Tkinter 库提供了丰富的工具和方法,用于创建和控制多个窗口,使你能够构建更复杂和有趣的 GUI 应用程序,满足不同用户的需求。继续学习 Tkinter ,你将能够开发更多交互性强大的应用程序。

  • 相关阅读:
    【ROS2原理12】Python接口数据
    跟南桑学汇编
    Anniversary party(树形dp 基础题)
    【教3妹学mysql】联合索引问题优化
    C语言力扣第60题之排列序列。广度优先搜索、简单除法定位
    运行Redshift需要什么样的电脑?如何选电脑配置
    Unbuntu-18-network-issue
    STM32建立工程问题汇总
    JMeter 测试脚本编写技巧
    深聊MySQL,从入门到入坟之:定位慢SQL的方法还可以这样,小菜鸡都能看懂。
  • 原文地址:https://blog.csdn.net/qq_38161040/article/details/132920313