📜  tkinter 中的弹出窗口 - Python (1)

📅  最后修改于: 2023-12-03 15:35:20.620000             🧑  作者: Mango

tkinter 中的弹出窗口 - Python

Tkinter 是 Python 的标准 GUI 库之一,它提供了一组工具和对象来创建图形用户界面。Tkinter 中的弹出窗口(pop-up window)是一种常用的用户交互方式,它可以用来提示消息、警告或者让用户输入信息等。

创建弹出窗口

在 Tkinter 中创建弹出窗口的基本步骤如下:

  1. 导入 Tkinter 模块,并创建主窗口对象 root
import tkinter as tk

root = tk.Tk()
  1. 在主窗口对象中创建按钮,并绑定一个回调函数 popup,该函数用于创建弹出窗口。
def popup():
    # 创建弹出窗口
    pass

btn = tk.Button(root, text="Click me!", command=popup)
btn.pack()
  1. 在回调函数 popup 中创建弹出窗口,可以使用 Tkinter 中的 Toplevel 类。
def popup():
    # 创建弹出窗口
    top = tk.Toplevel(root)
    top.title("Popup Window")

    # 在弹出窗口中添加控件
    label = tk.Label(top, text="Hello, I'm a pop-up window!")
    label.pack()
  1. 显示弹出窗口,可以使用 Toplevel 类中的 grab_set() 方法来让弹出窗口获得焦点,使用 wait_window() 方法阻塞程序,直到弹出窗口关闭。
def popup():
    # 创建弹出窗口
    top = tk.Toplevel(root)
    top.title("Popup Window")

    # 在弹出窗口中添加控件
    label = tk.Label(top, text="Hello, I'm a pop-up window!")
    label.pack()

    # 显示弹出窗口
    top.grab_set()
    root.wait_window(top)
弹出窗口示例

以下是一个简单的弹出窗口示例,代码片段如下:

import tkinter as tk

root = tk.Tk()

def popup():
    # 创建弹出窗口
    top = tk.Toplevel(root)
    top.title("Popup Window")
    top.geometry("200x100")

    # 在弹出窗口中添加控件
    label = tk.Label(top, text="Please enter your name:")
    label.pack()

    entry = tk.Entry(top)
    entry.pack()

    btn_ok = tk.Button(top, text="OK", command=top.destroy)
    btn_ok.pack()

    # 显示弹出窗口
    top.grab_set()
    root.wait_window(top)

btn = tk.Button(root, text="Click me!", command=popup)
btn.pack()

root.mainloop()

该示例创建一个主窗口,以及一个按钮。当用户点击按钮时,将弹出一个窗口,让用户输入姓名,并点击确定按钮。弹出窗口关闭后,程序将继续执行,姓名信息可以通过 Tkinter 中的基本控件来获取。