Python 弹出日期选择子窗口

Python 弹出日期选择子窗口

Python 弹出日期选择子窗口

在很多程序中,日期选择是一个常见的需求。Python 提供了丰富的库来实现日期选择功能。本文将演示如何使用 tkinter 库在 Python 中创建一个弹出日期选择的子窗口。

准备工作

在开始之前,确保你已经安装了 tkinter 库。如果没有安装,可以使用以下命令来安装:

pip install tk

创建子窗口

首先,我们需要创建一个主窗口,并在主窗口中添加一个按钮。当用户点击按钮时,会弹出一个子窗口用于选择日期。以下是完整的代码:

import tkinter as tk
from tkinter import ttk
from tkinter import messagebox
from tkcalendar import Calendar, DateEntry

def select_date():
    popup = tk.Toplevel()
    cal = Calendar(popup, selectmode='day', year=2022, month=1, day=1)
    cal.pack()

    def get_date():
        messagebox.showinfo("Selected Date", f"You selected: {cal.get_date()}")
        popup.destroy()

    btn = ttk.Button(popup, text="OK", command=get_date)
    btn.pack()

root = tk.Tk()

btn = ttk.Button(root, text="Select Date", command=select_date)
btn.pack()

root.mainloop()

代码解析

  1. 首先我们导入了需要的模块,tkinter 用于创建 GUI,tkcalendar 用于创建日历控件。
  2. 创建了一个名为 select_date 的函数,用于在点击按钮后弹出一个子窗口。
  3. select_date 函数中,我们创建了一个子窗口 popup,并在其中添加了一个 Calendar 控件,selectmode='day' 表示只能选择日期。我们默认选中了 2022 年 1 月 1 日。
  4. 为了获取用户选择的日期,我们定义了 get_date 函数,在该函数中弹出一个消息框显示用户选择的日期,并关闭子窗口。
  5. 最后我们在主窗口中创建了一个按钮,并设置点击按钮时调用 select_date 函数。
  6. 最后一行是启动主事件循环,用于显示 GUI 界面。

运行结果

当你运行以上代码时,会看到一个主窗口中有一个按钮,点击按钮后会弹出一个子窗口显示日历控件。选择日期后点击 “OK” 按钮,会弹出一个消息框显示你选择的日期。

这就是使用 tkintertkcalendar 创建弹出日期选择子窗口的方法。通过这种方法,你可以在 Python 程序中方便地集成日期选择功能。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程