简单的python3 弹出窗口 选择日期的程序

基于Tkinter的纯Python日期时间选择器实现与封装 在Python GUI开发中,Tkinter作为标准库提供了基础的界面组件,但其原生功能有限,缺乏开箱即用的日期时间选择器。通过理解事件绑定、组件布局和自定义对话框的原理,开发者可以基于基础控件构建功能完善的交互组件。这种自定义组件的技术价值在于减少外部依赖、提升代码可控性,并能深度定制以满足特定项目需求。在数据录入、查询界面、日志工具等需要用户输入时间信息的应用场景中,一个直观易用的选择器能显著改善用户体验。本文分享的DateTimePicker类,通过封装日历面板和微调框,实现了不依赖第三方库的日期时间 阅读详情

import os

import tkinter as tk

from tkinter import ttk

from tkcalendar import DateEntry

from PIL import Image, ImageTk

def get_dates():

    start_date = cal_start.get()

    end_date = cal_end.get()

    print("Start Date:", start_date)

    print("End Date:", end_date)

    # 在这里添加其他需要处理的代码

root = tk.Tk()

root.title("选择日期")

root.geometry("550x150")

# # 获取当前脚本文件的绝对路径

# script_dir = os.path.dirname(os.path.abspath(__file__))

# image_path = os.path.join(script_dir, "background.jpg")

# # 打开图像文件并创建PhotoImage对象

# image = Image.open(image_path)

# photo = ImageTk.PhotoImage(image)

# # 创建Canvas对象,并将PhotoImage对象放入其中

# canvas = tk.Canvas(root, width=600, height=150)

# canvas.create_image(0, 0, image=photo, anchor="nw")

# canvas.pack()

# 创建开始日期选择器

ttk.Label(root, text="开始日期:", font=('Arial', 14)).grid(row=0, column=0)

cal_start = DateEntry(root, width=12, background='darkblue',

                      foreground='white', borderwidth=2, date_pattern='yyyy-mm-dd')

cal_start.config(font=('Arial', 14))

cal_start.place(x=150, y=50)

cal_start.grid(row=1, column=1, padx=10, pady=10)

# 创建结束日期选择器

ttk.Label(root, text="结束日期:", font=('Arial', 14)).grid(row=0, column=2)

cal_end = DateEntry(root, width=12, background='darkblue',

                    foreground='white', borderwidth=2, date_pattern='yyyy-mm-dd')

cal_end.config(font=('Arial', 14))

cal_end.place(x=370, y=50)

cal_end.grid(row=1, column=3, padx=10, pady=10)


 

# 创建按钮来获取日期

ttk.Button(root, text="获取日期", command=get_dates).place(x=200, y=100)

root.mainloop()

(原创)Python Tkinter日期选择(日历)‘控件’ python tkinter模块 日期选择 ""控件 阅读详情

相关推荐

ttkbootstrap 实现日期选择器, 开始和结束时间

【代码】ttkbootstrap 实现日期选择器, 开始和结束时间。

Frame_X的博客 524

python 日期选择(包含时间选择)

前期项目需求写过一个日期多选的控件(Python Tkinter实现日历多选_楠奇湖畔的博客-优快云博客_tkinter 日历控件),后面使用的时候发现有很多可以改进的部分。因此重新写了一个日历控件,可以单选或多选,此次只放了单选的代码。一、参考文章Python tkinter 下拉日历控件_我的眼_001的博客-优快云博客此次还是参考了上述的文章,作为一名新手,基于学习吸收的原则,自己写代码的过程中,因为不能完全吸收看懂原代码,所以很多功能实现,使用了自己能看懂且不出现bug的代码来实现。......

楠奇湖畔的博客 4603

PyQt5学习总结(一个简单的数据库查询系统)

基于PyQt5的GUI开发流程:将一个窗口控件拖入窗口中并放在预设的大致位置。对于要用代码引用的窗口控件,应指定一个名字:对于需要微调的窗口控件,可以设置其对应属性。重复步骤1和2,直到所需的所有窗口控件都放在窗口中。根据自己预设的界面,为便于布局可以添加Vertical Spacer、Horizontal Spacer、Horizontal Line、Vertical Line控件隔开。选择需布...

new_come1的博客 1万+

python 日期时间选择器

# 日期时间选择器 import tkinter as tk from tkcalendar import Calendar from tkinter import ttk from tkinter import * import datetime def start_calendar(): def print_sel(): start_time_text.configure(state="normal") print(str(cal.selection_get(

ducanwang的博客 1429

Tkinter 图形界面日历

用python程序实现制作一个 Tkinter 图形界面日历,用户选择某年某月,图形化显示当月日历功能。创建日历界面整个组件的布局是 8x7 的 grid 表格方式。第一行显示日历头部,包括年月日的显示与选择;第二行显示周日、周一、周二、周三、周四、周五、周六标签;OptionMenu 为可选菜单可以使用变量的 get 方法获得选取的选项值。这个程序创建了一个名为 “Calendar” 的窗口,其中包括带有年份和月份的 OptionMenu、星期标签、用于向前/向后浏览月份的按钮以及日期网格。

Deng872347348的博客 785

Tkinter日期选择神器:tkcalendar使用详解与实战避坑指南

在Python GUI开发中,日期输入是常见需求,但Tkinter标准库缺乏开箱即用的日历组件,开发者常需手写复杂控件。tkcalendar作为一款轻量级开源日历小部件,提供Calendar与DateEntry两个核心组件,支持日期范围限制、中文本地化显示及虚拟事件绑定,能显著简化日期选择功能的开发流程。其遵循ttk风格体系,可无缝嵌入桌面应用,广泛应用于内部管理系统、预约排班、数据采集等工具中。围绕安装配置、常用参数、事件绑定、样式定制与业务集成,梳理常见报错与避坑要点,帮助开发者快速掌握高效、规范的日期

weixin_32175665的博客 194

Python tkinter 下拉日历控件

tkinter 下拉日历控件 快捷选择日期返回

wodeyan001的博客 1万+

双轴按键摇杆模块原理与嵌入式驱动实战

双轴按键摇杆是一种融合模拟量(X/Y轴)与数字量(Z轴按键)的复合型人机交互传感器,其本质基于电位器分压原理与机械开关通断特性。通过ADC采集连续电压信号并结合数字IO检测按键状态,可实现高鲁棒性的二维运动感知与触发控制。该方案技术门槛低、成本可控、兼容性强,广泛应用于智能小车、DIY游戏手柄、工业HMI及教育开发板等嵌入式场景。文中深入解析电位器线性度、KEY引脚开漏特性、ADC参考电压稳定性及软件消抖状态机等关键工程要素,为基于Arduino、STM32或ESP32平台的快速集成提供可复用的技术路径。

weixin_30995917的博客 82

python tkinter 日期时间选择器,附详细可运行源码

python tkinter 日期时间选择器,附详细可运行源码

summerriver1的博客 1万+

SAP ABAP开发避坑:BAPI_MATVAL_PRICE_CHANGE调用报‘估价未维护’的完整解决流程

本文深入解析SAP ABAP开发中调用BAPI_MATVAL_PRICE_CHANGE函数时遇到的'估价未维护'错误,提供从基础配置检查到CKML_PRICE_SEND表维护的完整解决方案。通过实战案例和代码示例,帮助开发者快速定位问题并实现批量价格更新的自动化处理,提升开发效率。

weixin_28705087的博客 427

波克 上海 Unity开发笔试题 2024

主要分为四部分,如果没有准备好,不要点击笔试链接,进入就会自动开始。

z2014z的博客 3396

Python自动化之selenium语句——等待时间、选择框、下拉框、日期、上传、句柄、弹窗、iframe页面嵌套、获取文本、网页前进后退

本文介绍了Web自动化测试中的多种交互操作技巧,主要包括:元素定位等待时间的设置方法(推荐使用隐性等待);选择框、日期控件和文件上传的操作方式;多标签页的句柄获取与切换;三种弹窗(警告框、确认框、提示框)的识别与处理方法;iframe嵌套页面的定位与操作;获取元素文本内容与可见性判断的方法;以及网页前进后退的控制。这些技巧涵盖了Web自动化测试中的常见交互场景,为测试脚本编写提供了实用指导。

weixin_45189665的博客 1987

Altera USB-Blaster在Win10/Win11的驱动兼容性处理

解决Altera USB-Blaster在Windows 10和Windows 11系统下的驱动兼容性问题,详细演示如何手动安装与更新altera usb-blaster驱动安装,确保下载电缆正常识别,提升开发调试效率。

weixin_42284380的博客 1290

Python:PyQt 时间组件

import sys from PyQt5.QtWidgets import QApplication,QWidget,QCalendarWidget,QHBoxLayout,QVBoxLayout,QDateTimeEdit,QLabel,QMessageBox from PyQt5.QtCore import Qt,QDateTime,QDate,QTime # 日期表达式: # d - 没...

lianback的博客 3453

扣子(coze)案例^第22期:零代码打造小红书竞品监控系统+AI自动生成运营策略建议

本文详细介绍了如何利用扣子(coze)平台零代码搭建小红书竞品监控系统。该系统通过自动化工作流抓取竞品笔记数据,并存入飞书多维表格,结合AI能力自动生成包含可视化分析报告在内的运营策略建议,帮助运营者高效进行数据驱动的市场分析。

weixin_29313239的博客 1005

企业网络架构设计:从内网到外网的无缝通信方案

本文详细解析了企业网络架构设计中的关键技术与实践方案,重点介绍了VLAN划分、OSPF路由优化、安全策略及无线网络集成等核心内容。通过OSPF多区域部署和链路聚合技术,实现内网到外网的无缝通信,提升企业网络性能与安全性。文章还提供了具体的配置示例和最佳实践,助力企业构建高效可靠的网络架构。

weixin_28331555的博客 624

告别繁琐代码:3行Python实现专业级时间选择器

你是否还在为Python GUI开发中的日期时间选择功能头疼?尝试过Tkinter的原始组件,或是PyQt的复杂配置?PySimpleGUI提供了开箱即用的时间选择解决方案,让普通开发者也能在5分钟内实现专业级界面。本文将通过实战案例,详解如何利用PySimpleGUI的`CalendarButton`、日期弹窗和时间选择器组件,快速构建直观易用的日期时间管理功能。 ## 核心组件速览 PyS...

gitblog_00682的博客 529

手把手教你学Simulink——基于Simulink的前馈解耦SVPWM整流器仿真

本文详细介绍了基于Simulink的前馈解耦SVPWM整流器仿真方法。针对三相PWM整流器存在的dq轴交叉耦合问题,提出前馈解耦控制方案,通过在电流环中引入耦合电压补偿项,显著提升系统性能。文章包含完整的系统架构、核心算法、Simulink建模步骤及参数设置,仿真结果显示:电流跟踪误差<2%、动态响应时间<0.05s、THD<3%、功率因数>0.999。同时提供了可直接复用的MATLAB代码和工程优化建议,为电力电子工程师实现高精度AC/DC转换提供了实用解决方案。

MHD0815的博客 108

Python Qt GUI设计:窗口之间数据传递(拓展篇—5)

对于多窗口的情况,一般有两种解决方法:一种是主窗口获取子窗口中控件的属性,另一种是通过信号与槽机制,一般是子窗口通过发射信号的形式传递数据,主窗口的槽函数获取这些数据。

不脱发的程序猿 3万+

Power EM与Signal EM解决办法与原理分析

1.面对power EM,首先检查missing via,补全via,还可以加宽,加密局部power mesh,一些power IO出pin有power EM问题,可以叠加多层线和垂直方向补power形成网络降低并联电阻和提供更多电流通路解决,这种方法还可以降低ir drop。3.先进工艺有一个via ladder的方法可以解决power/signal em问题,clock cell出pin绕线或者power rail连接power stripe通过搭梯子的方式连接,原理还是分流。

m0_61544122的博客 4746

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

python 控件显示时间_python selenium 处理时间日期控件

测试过程中经常遇到时间控件,需要我们来选择日期,一般处理时间控件通过层级定位来操作或者通过调用js来实现。1.首先我们看一下如何通过层级定位来操作时间控件。通过示例图可以看到,日期控件是无法输入日期,点击后弹出日期列表供我们选择日期,自己找了一个日期控制演示一下,通过两次定位,选择了日期#-*- coding:utf-8 -*-import timefrom selenium import web...

weixin_39539588的博客 234

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

PyQt十讲 | 零基础教你实现界面多窗口跳跃

本篇推文共计1000个字,阅读时间约1分钟。在PyQt编程过程中,经常会遇到输入或选择多个参数的问题,把多个参数写到一个窗口中,主窗口会显得很臃肿,所以,今天我们来学习一下界面多窗口的转...

看那个码农的博客 317

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

python运行窗口闪退_解决Pycharm调用Turtle时 窗口一闪而过的问题

解决Pycharm调用Turtle时 窗口一闪而过的问题如下所示:#彩色螺旋线import turtleturtle.pensize(2)turtle.bgcolor("black")colors = ["red","yellow","purple","blue"]turtle.tracer(False)for x in range(400):turtle.forward(2*x)turtle.c...

weixin_39858298的博客 5376

深度解析PySide6 QDateTimeEdit:日期时间控件的终极指南

在PySide6 GUI开发中,日期时间输入是几乎所有表单应用都绕不开的核心需求。无论是用户注册、日程管理、还是数据分析系统,都需要精准、易用的日期时间选择功能。**QDateTimeEdit**作为PySide6官方提供的日期时间编辑控件,正是解决这一需求的利器。本文将带您深入探索QDateTimeEdit的完整使用技巧,从基础概念到实战应用,助您构建专业级的GUI界面。 ## 核心概念:理解

gitblog_00996的博客 476

python 基于tkinter的日历控件

使用tkinter完成windows窗口程序,开始之前对tkinter没啥概念,需求紧急边用边学。。。。 处理到日历输入的时候才发现居然没有现成的日历选择控件,这让人很难受,找遍全网合适的也只有“大牛我的眼写的这个合适” 但是几个问题用起来很别扭 1. 通过外部button激活 2.回写日期输入栏在控件外部控制 3.没有时间控制 4.模块的名字叫calendar这个和现有系统的有冲突 实在找不到合适的,所以花了点时间改造了一下,可以去此下载源码easyCalendar.py 在原有功能基础.

5764
Jamespan21
博客等级 码龄5年 1粉丝 1原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值