import tkinter as tk
from tkcalendar import Calendar, DateEntry
# 带提示的输入框类
'''
普通Entry类赋值
search_entry = tk.Entry(master=self.top, width=30, borderwidth=1,
fg="#EE82EE", insertwidth=1, font=font_entry,
insertbackground="#333", state=tk.NORMAL,
textvariable=self.var_rq)
'''
class EntryWithPlaceholder(tk.Entry):
def __init__(self, master=None, placeholder="PLACEHOLDER", font=None, color="grey", textvariable=None):
super().__init__(master)
self.placeholder = placeholder
self.placeholder_color = color
self.default_fg_color = self['fg']
self['textvariable'] = textvariable
self['font'] = font
self.bind("<FocusIn>", self.foc_in)
self.bind("<FocusOut>", self.foc_out)
self.put_placeholder()
def put_placeholder(self):
self.insert(0, self.placeholder)
self['fg'] = self.placeholder_color
def foc_in(self, *args):
if self['fg'] == self.placeholder_color:
self.delete('0', 'end')
self['fg'] = self.default_fg_color
def foc_out(self, *args):
if not self.get():
self.put_placeholder()
# 定义了一个日期选择框 开始日期 + 结束日期
class datepicker:
def __init__(self, frame, font=None, lb_bg='开始日期:', lb_ed=' 结束日期:'): # 窗口对象 坐标
self.frame = tk.Frame(frame, padx=5)
self.start_date = tk.StringVar() # 开始日期
self.end_date = tk.StringVar() # 结束日期
self.bt1 = tk.Label(self.frame, text=lb_bg, font=font) # 开始按钮
self.bt1.grid(row=0, column=0)
self.ent1 = DateEntry(self.frame, width=12, background='deepskyblue', date_pattern="yyyy-mm-dd", font=font,
locale="zh_CN.UTF-8", foreground='white', borderwidth=2, textvariable=self.start_date)
self.ent1.grid(row=0, column=1)
self.bt2 = tk.Label(self.frame, text=lb_ed, font=font)
self.bt2.grid(row=0, column=2)
self.ent2 = DateEntry(self.frame, width=12, background='deepskyblue', date_pattern="yyyy-mm-dd",font=font,
locale="zh_CN.UTF-8", foreground='white', borderwidth=2, textvariable=self.end_date)
self.ent2.grid(row=0, column=3)
def pack(self, side=None, expand=None, fill=None, anchor=None, padx=None, pady=None, ipadx=None, ipady=None):
self.frame.pack(side=side, expand=expand, fill=fill, anchor=anchor, padx=padx, pady=pady, ipadx=ipadx,
ipady=ipady)
def grid(self, row=None, column=None, columnspan=None, sticky=None, ):
self.frame.grid(row=row, column=column, columnspan=columnspan, sticky=sticky)
def getdate(self): # 获取选择的日期
return self.start_date.get(), self.end_date.get()
没有合适的资源?快使用搜索试试~ 我知道了~
Python 自定义时间选择框
共1个文件
py:1个
需积分: 5 0 下载量 108 浏览量
2023-07-26
16:14:54
上传
评论
收藏 1KB ZIP 举报
温馨提示
要实现自定义时间选择框,可以按照以下描述进行操作: 界面设计:创建一个界面,可以使用图形用户界面(GUI)库,如Tkinter、PyQt等。在界面上添加一个文本框和一个按钮,用于显示选定的时间和触发时间选择的操作。 时间选择功能:通过按钮点击或其他事件触发时间选择功能。当用户点击按钮时,弹出一个时间选择框,供用户选择所需的时间。可以使用日历控件或自定义的时间选择控件。 时间显示:将选定的时间显示在文本框中,以便用户查看已选择的时间。可以使用日期时间格式化函数来将时间对象转换为指定的字符串格式,并将其设置为文本框的值。 时间验证:对用户选择的时间进行验证,确保其符合预期的时间范围和格式要求。可以在选择时间后进行验证,并在不符合要求的情况下给出相应的提示信息。 其他功能增强:根据需求,可以增加一些其他功能来增强时间选择框的使用体验,如快捷选择按钮、默认时间设置、最大/最小时间限制等。 请注意,在实际代码编写中,需要根据选择的GUI库和具体需求进行相关的调用和处理。此外,还需考虑与其他组件的交互、界面布局和美化等方面的需求。
资源推荐
资源详情
资源评论
收起资源包目录
Python 自定义时间选择框.zip (1个子文件)
Python 自定义时间选择框
Myclass.py 3KB
共 1 条
- 1
资源评论
童小纯
- 粉丝: 3w+
- 资源: 289
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 51单片机学习(1)-软件keil下载
- 历届(第1-21届)希望杯数学竞赛初一试题及答案(最新整理).doc全国数学邀请赛(264页资料)
- 水滴.psd
- TokenPocket_V2.1.2_release.apk
- Apache-druid-kafka-rce.yaml
- 基于C#的ASP.NET数据库原理及应用技术课程指导平台的开发
- 基于ROS的智能车轨迹跟踪算法的仿真与设计源码运用PID跟踪算法.zip.zip
- Bug Bounty Tip - i春秋Self-XSS变废为宝的奇思妙想
- 1991-2015年全国初中化学竞赛复赛试题汇编(212页)(24年竞赛复赛真题).docx天原杯
- Apache Flink 未授权访问+远程代码执行.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功