wxpython设计GUI:选中wxFormBuilder工具wxCalendarCtrl控件,实现自动选择日期功能

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

1. 期望实现功能

在这里插入图片描述
列表框选择“创建日期”后自动在界面最右侧显示日历,用户鼠标选中最右侧的日历日期后,文本框中自动显示查询日期的上下限,用户可以获取文本框中的日期,再点击“查询”按钮实现查询数据功能。

2. wxFormBuilder工具的Additional页签选择wxCalendarCtrl控件

在这里插入图片描述
使用wxFormBuilder工具搭建基础界面,Additional页签选择wxCalendarCtrl控件后,依次在Frame上布局静态文本框、列表框、文本输入框和按钮,调整布局成期望实现日期选择的界面。

3. 代码实现

		# 查询依据
        self.m_choice2.Bind(wx.EVT_CHOICE, self.show_calendar)
        self.last_date = ""
        self.m_calendar1.Bind(wx.adv.EVT_CALENDAR, self.choice_last_date)
    def show_calendar(self, event):
        search_condition = self.m_choice2.GetString(self.m_choice2.GetSelection())
        if search_condition in ["创建日期"]:
            self.m_calendar1.Show()
        else:
            self.m_calendar1.Hide()

    def choice_last_date(self, event):
        last_date = event.GetDate()
        value = str(last_date).split(" ")[0]
        self.m_textCtrl25.SetValue(value)
        self.last_date = value
        self.m_calendar1.Bind(wx.adv.EVT_CALENDAR, self.choice_next_date)

    def choice_next_date(self, event):
        next_date = event.GetDate()
        value = str(next_date).split(" ")[0]
        if self.last_date.strip() != "":
            value = self.last_date + "_" + value
        self.m_textCtrl25.SetValue(value)
        self.m_calendar1.Bind(wx.adv.EVT_CALENDAR, self.choice_last_date)

有关日历控件的触发事件wx.adv.EVT_CALENDAR可以查看如下链接地址理解。
链接地址:https://docs.wxpython.org/wx.adv.CalendarCtrl.html?highlight=calendarctrl#events-events-emitted-by-this-class
在这里插入图片描述

4. 界面效果

例如:查询7月份的数据,查询依据选择列表框中的“创建日期”,右侧自动显示日历,先鼠标左键双击选中7月1日,文本框自动显示“2022/7/1”;
在这里插入图片描述
再鼠标左键双击选中7月31日,文本框自动显示“2022/7/1_2022/7/31”。用户再选中一个日期即可取消当前文本框显示的“2022/7/1_2022/7/31”。
在这里插入图片描述
支持只选择一个日期进行查询,也支持前后两次鼠标左键双击选中相同的日期,如下图支持日期显示为“2022/7/2_2022/7/2”进行查询。
在这里插入图片描述

使用wxPython的定时器wx.Timer的简单应用实例 wxPython是一个用于创建图形用户界面(GUI)的Python库,它提供了丰富的工具和控件来构建跨平台的桌面应用程序。其中,wx.Timer是wxPython库中的一个定时器类,它可以用于执行定时任务或者周期性地触发事件。本文将介绍如何使用wx.Timer来创建一个简单的定时器应用程序,并提供相应的源代码。点击开始按钮后,定时器将每隔1秒触发一次定时器事件,并在窗口中显示触发次数。函数是定时器事件的处理函数,每当定时器触发时,它将被调用。在该函数中,我们增加了计数器的值,并将其显示在静态文本控件中。 阅读详情

相关推荐

Python 自定义时间选择框

要实现自定义时间选择框,可以按照以下描述进行操作: 界面设计:创建一个界面,可以使用图形用户界面(GUI)库,如Tkinter、PyQt等。在界面上添加一个文本框和一个按钮,用于显示选定的时间和触发时间选择的操作。 时间选择功能:通过按钮点击或其他事件触发时间选择功能。当用户点击按钮时,弹出一个时间选择框,供用户选择所需的时间。可以使用日历控件或自定义的时间选择控件。 时间显示:将选定的时间显示在文本框中,以便用户查看已选择的时间。可以使用日期时间格式化函数来将时间对象转换为指定的字符串格式,并将其设置为文本框的值。 时间验证:对用户选择的时间进行验证,确保其符合预期的时间范围和格式要求。可以在选择时间后进行验证,并在不符合要求的情况下给出相应的提示信息。 其他功能增强:根据需求,可以增加一些其他功能来增强时间选择框的使用体验,如快捷选择按钮、默认时间设置、最大/最小时间限制等。 请注意,在实际代码编写中,需要根据选择的GUI库和具体需求进行相关的调用和处理。此外,还需考虑与其他组件的交互、界面布局和美化等方面的需求。

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

wxpython 设计日历控件.rar

用wxPython 设计日历控件。选择日期,并print选取日期,可翻转月以及其他需求。网络大多用tk做的。

wxpython 用calendarctrl制作日历以及显示当前日期在statictext上

calendar的日期显示   def beginEvent(self,event): dlgb = wx.Dialog(None, id = -1 ,title='Calendar',size=(300,200)) self.datepick = wx.adv.CalendarCtrl(self.pnl,-1,pos=(600,100)) ...

u010847579的博客 3219

新手必看!用FFmpeg一键合并ts文件的5种方法(含Windows/Mac终端命令)

本文详细介绍了使用FFmpeg合并TS视频文件的5种实用方法,涵盖Windows和Mac终端命令操作。从基础安装到进阶技巧,包括处理音频不同步、批量处理多个视频等场景,帮助用户轻松将m3u8分片视频合并为完整mp4文件,提升视频处理效率。

weixin_29065959的博客 560

MPC模型预测控制实战:从理论到代码实现(Python示例)

本文详细介绍了MPC模型预测控制的实战应用,从理论到Python代码实现。通过构建系统模型、预测方程、优化问题及约束处理,展示了如何实现一个完整的MPC控制器。文章还提供了水箱液位控制的应用案例,帮助读者掌握MPC在工业控制中的实际应用。

weixin_42653691的博客 460

wxPython日历选择

在填写文本时候选择日期可以避免手工输入错误 import wx import wx.adv class DatePicker( wx.adv.DatePickerCtrl): #日期选择类 def __init__(self,parent,dt,style=wx.adv.DP_DEFAULT): super(DatePicker,self).__init__(parent,dt=dt,style=style) self.SetInitialSize((120,-

weixin_42109635的博客 1011

智能座舱架构与芯片- (9) 音频篇 上

从A2B收发器衍生出来的简化产品具备各种级别的功能,例如端点从节点(不支持TDM)、简化型主节点(支持较短的电缆和更少的从节点数量),以及简化型端点从节点(支持较短电缆和更少的PDM输入)。例如,AVB中的talker和listener是不同的设备,它们的参考时钟源可能并不相同。传统的车载收音机通过天线接收无线电信号,然后由调谐模块(Tuner)进行信号调谐,信道过滤,信道均衡,多路改善,信号解调等,转为数字信号后再交给DSP进行立体声解码,噪声抑制,弱信号处理,最后从车载音响系统进行播放。

joanna_xiao的博客 4907

wxpython日期控件_wxPython wx.Timer

id=-1)其中参数owner是实现wx.EvtHandler的实例,即任一能够接受事件通知的wxPython控件或其它的东西。参数id用于区分不同的定时 器。如果没有指定id,则wxPython会为你生成一个id号。如果当你创建定时器时,你不想设置参数owner和id,那么你可以以后随时使用 SetOwner(owner=None,id=-1)方法来设置,它设置同样的两个参数。绑定定时器在你创...

weixin_39735012的博客 640

Codex辅助小说创作:零成本AI写作指南与实战技巧

自然语言处理技术通过深度学习模型理解语义上下文,其核心原理是基于大规模文本训练的语言模型预测能力。在创意写作领域,这项技术的价值在于突破传统写作工具的功能局限,实现从内容生成到风格模仿的智能化辅助。特别是提示词工程的应用,让创作者能够精准控制AI输出的内容和风格。在实际应用场景中,AI写作工具显著降低了小说创作门槛,适用于网络小说、奇幻科幻等多种文学类型。本文以OpenAI Codex为例,详细解析如何利用AI技术完成从故事大纲设计、章节生成到平台发布的全流程创作,其中提示词优化和内容质量把控是提升生成效果

weixin_32678995的博客 564

【网络安全】零基础入门网络安全劝退指北

作为从16年接触网络安全的小白,谈谈零基础如何入门网络安全,有不对的地方,请多多指教。 这些年最后悔的事情莫过于没有把自己学习的东西积累下来形成一个知识体系。 后续我也会陆续的整理网络安全的相关学习资料及文章,与大家一起探讨学习。 如何入门 简单了解网络安全 网络安全就是指的确保网络系统中的数据不被别人破坏,而网安工程师就是涉及程序来维护网络安全。 网安方向有很多职位,比如安全产品工程师,安全分析师,数据恢复工程师,网络架构工程师,安全编程工程师,以及网络集成工程师等。 工作内容主要包括: 安全评测,风

互联网老辛 4586

wxpython日期控件_wxPython wx.StaticText Create()用法及代码示例

在本文中,我们将学习与wxPython的wx.StaticText类关联的Create()。静态文本控件显示一行或多行只读文本。Create()功能用于两步创建静态文本。我将statictext的属性作为参数。用法: wx.StaticText.Create(parent, id=ID_ANY, label=””, pos=DefaultPosition, size=DefaultSize, st...

weixin_32601635的博客 410

BES2300x笔记(36) -- OTA升级

哈喽大家好,这是该系列博文的第三十六篇~ 篇~ <<【系列博文索引】快速通道 >> 一、前言 BES 蓝牙方案自带 OTA(Over The Air)功能,该功能可以对蓝牙固件进行在线升级,目前该功能支持通过安卓手机(苹果手机也有对应APP,未实际测试)对蓝牙固件进行升级,以后还会支持通过 PC 端进行在线升级。在使用 OTA 功能之前,用户需安装 BES 提供的手机 apk 软件,将需要升级的固件拷贝到手机,然后通过该 apk 软件进行在线升级。

文化人的博客 5356

wxpython用DatePickerCtrl做日期区间选择

1、用TextCtrl形成文本编辑框 self.yearInput1 = wx.TextCtrl(self.pnl, -1, u'', pos=(190, 40), size=(60, -1)) self.yearInput1.SetForegroundColour('gray') self.yearInput1.SetFont(font) 2...

u010847579的博客 5836

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

wxpython日期控件_wxpython没有提供日期时间选择按钮吗??

有的。wx.DatePickerCtrl()可提供日期选择。以下脚本可显示日历:#-*- coding: utf-8 -*-import wx"""显示日历"""class TestPanel(wx.Frame):def __init__(self, parent, title):wx.Frame.__init__(self, parent, title = title,size=(600,-1)...

weixin_39658019的博客 833

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Python日期操作和wxpython简单界面

在写报名表处理、分析的时候,我基友问我怎么在excel中统计一段日期内有几个周几周几周几,我说这似乎跟excel没啥关系吧?要不我给你写一个小程序,分别输入开始日期和结束日期,然后属于想要统计的周几,然后就出来统计结果,他说可以。 因为设计到日期,可以用python的datetime包来计算比手动实现(还要分闰年)容易得多。 首先通过input(...

Type真是太帅了 1611

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

pythonwx功能_wx python 基本控件

一、静态文本控件wx.StaticText(parent, id, label, pos=wx.DefaultPosition,size=wx.DefaultSize, style=0, name="staticText")wx.StaticText构造函数的参数parent:父窗口部件。id:标识符。使用-1可以自动创建一个唯一的标识。label:你想显示在静态控件中的文本。pos:一个wx.P...

weixin_39683025的博客 1136

wxpython日期控件_使用wxpython控件在面板中的位置

你忘了告诉你的面板是什么尺寸的。如果将self.SetSizer(topsizer)添加到类的__init__的末尾,它将如您所期望的那样工作。在以下是完整的可运行版本:import wxclass Panelchoose(wx.Panel):"""panel for calculating separately without saving"""def __init__(self ,*args,...

weixin_39841136的博客 158

wxPython--基础组件-文本框样例

#-*- coding:utf-8 -*- """ ############################################# StaticText 参数说明 --即 label parent: -- 父窗口部件。 id: -- 标识符。使用-1可以自动创建一个唯一的标识。 label: -- 你想显示在静态控件中的文本。 pos: -- 一个wx.Point或一个

xxb2008的专栏 1万+

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

简单的python3 弹出窗口 选择日期的程序,还可以设计窗口后面图片

Jamespan21的博客 1272

wxPython DatePicker 及日期计算踩坑记录

这一次是在做backtrader的回测的过程中,试图用窗口界面来快速进行多时间段回测。当前选用的是wxPython做窗口界面,踩了好多坑。

AouSdu 1372

wxPython中wx.adv.DatePickerCtrl用法

wx.adv.DatePickerCtrl是一个日期选择组件,支持键盘手工录入日期和弹出日历窗口选择日期两种方式。

MissYuanxi的博客 811

实战wxPython:034 - 基本控件之进度条Gauge

在GUI程序中,我们我们常常使用一个进度条来直观地显示某一件事情的进度。在wxPython中提供类wx.Gauge来实现这个功能。wx.Gauge是一个水平或者垂直的用来显示进度(通常是时间的进度)的控件。它不产生任何命令事件。 wx.Gauge支持两种工作模式:确定进度和不确定进度。并可以在这两种模式之间进行动态切换。

seniorwizard的专栏 1303

WdatePicker日期控件使用与值获取,以及选择日期完毕触发事件

WdatePicker日期控件使用与值获取,以及选择日期完毕触发事件

u013733643的博客 2276
上一篇: wxpython设计GUI:输入关键字,实现邮箱账号的自动检索功能
下一篇: 使用ControlCAN.dll收发报文功能实现诊断仪与硬件的UDS报文交互
草莓仙生
博客等级 码龄8年 2033粉丝 224原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草莓仙生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值