2013-01-19 2 views
0

wxPython TimeCtrl 위젯을 클릭하면 12 시간 (AM/PM) 형식의 값을 24 시간 형식으로 토글하려고합니다. 동적으로 wxPython wx.TimeCtrl 위젯을 업데이트하십시오.

는 지금은 TimeCtrl 위젯 (12)/24 시간 포맷이 속성을 설정하여 초기화로 설정 알고 fmt24hr = 거짓/당신이 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" 
    ) 

는 지금은 버튼을 클릭하면 True에서 False로 fmt24hr을 전환하려는하지만 난 방법을 찾을 수 없습니다! 지금까지 내가 문서에서 볼 수있는 것은 아무도 없다.

도움이 될 것입니다.

+0

ravenspoint its wxpython 위젯. [WxPython TimeCtrl 클래스] (http://wxpython.org/docs/api/wx.lib.masked.timectrl.TimeCtrl-class.html) 및 [WxPython TimeCtrl Module] (http://www.wxpython.org/)을 참조하십시오. docs/api/wx.lib.masked.timectrl-module.html). 감사합니다 – dtechplus

답변

1

위젯을 만든 후에 변경할 수없는 속성이라고 추측합니다.

  1. 모두 컨트롤을 만들고 하나를 숨기고 당신이 전환 할 때 첫 번째를 숨기고를 "전환"할 때 두 번째
  2. 가 첫 번째 컨트롤을 만든 다음 그것을 파괴 표시하고 기타를 만들 : 당신은 두 가지 옵션이 있습니다 버전이 있습니다.

어느 방법 이건간에 Sizer 메서드를 사용하여 올바른 위치에서 나타나게하거나 사라지게 만드는 것이 좋습니다. 만약 당신이 그것을 파괴한다면 Sizer.Remove와 Sizer.Insert가 필요할 것입니다. 그냥 보이거나 숨기 만한다면 Sizer의 표시 및 숨기기 방법을 사용할 수 있습니다. 또한 패널의 고정 및 해빙 방법을 살펴보고 깜박임 양을 줄이는 것이 좋습니다.

+0

감사합니다 마이크, 나는 종류도 알아 냈어, 그래서 중간에 내가 지금까지 옵션 1 경로를 찍은 지금까지 작동합니다. 생성 후 속성을 변경할 수있는 방법이 있는지 알고 싶었습니다. – dtechplus

+0

아마 당신이 그것을 할 사용자 정의 위젯을 만들 수 있습니다. 그것은 좋은 학습 프로젝트 일 것입니다! –

+0

흠 ... 좋은 생각인데 wxpython 스킬이 아직 그 수준에 미치지 못했다. LOL – dtechplus

관련 문제