动态更新wxPython时间控制威德

2024-06-26 03:48:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让一个wxPythonTimeCtrl小部件在点击一个按钮时将其值12hr(am/PM)格式切换为24小时格式。在

现在我知道在初始化时,TimeCtrl小部件12/24小时格式是通过设置属性fmt24hr=False/True来设置的,具体取决于您是否希望显示24小时格式。在

下面是TimeCtrl的API::

from wx.lib.masked import TimeCtrl

TimeCtrl(
     parent, id = -1,
     value = '00:00:00',
     pos = wx.DefaultPosition,
     size = wx.DefaultSize,
     style = wxTE_PROCESS_TAB,
     validator = wx.DefaultValidator,
     name = "time",
     format = 'HHMMSS',
     fmt24hr = False,
     displaySeconds = True,
     spinButton = None,
     min = None,
     max = None,
     limited = None,
     oob_color = "Yellow"
    )

现在我想把fmt24hr从True切换到False,当一个按钮被点击,但我找不到方法!据我所见,在文件中没有设置程序。在

任何帮助都将不胜感激。在


Tags: noneapifalsetrue属性部件格式am
1条回答
网友
1楼 · 发布于 2024-06-26 03:48:42

我猜这个属性在小部件创建之后是不能改变的。您有两种选择:

  1. 创建两个控件并隐藏一个控件,当您切换时,您将隐藏第一个控件并显示第二个控件
  2. 创建第一个控件,然后在“切换”它时将其销毁,并在其位置创建另一个版本。在

不管是哪种方式,您几乎肯定希望使用Sizer方法使其在正确的位置出现和消失。如果你要摧毁它,那么你会想要Sizer。移除以及Sizer.插入. 如果只是显示和隐藏,那么可以使用Sizer的Show和Hide方法。您可能还需要研究面板的冻结和解冻方法,以减少闪烁量。在

相关问题 更多 >