2016-07-06 36 views
0

下面的代碼使用sqlalchemy檢查日期的sqlite3映射表(Ppe)。 然後它使用這些日期來填充comboBox事件上的wxForm上的字段。如何重置wxDatePickerCtrl的ALLOWNONE狀態?

def refresh_ppe(self, event): 
     selected_user = str(self.m_comboBox31.GetValue()) 
     session = start_session() 
     updater = session.query(Ppe).filter(Ppe.name == selected_user).first() 
     new_date = updater.ear_defenders 
     try: 
      self.m_datePicker23.SetValue(_pydate2wxdate(new_date)) 
     except AssertionError: 
      self.m_datePicker23.SetValue(None) 

Image of control in question.

我想要做的是,當我重新填充表與護耳一個空的日期的條目(因爲他們沒有發出他們),它重置ALLOWNONE DatePickerCtrl的狀態並清除複選框。

我已經嘗試self.m_panel1681.Refresh()(父面板),並試圖隱藏和顯示面板和DatePickerCtrl。

任何幫助將被很好地接收。

謝謝 保羅。

回答

0

wxDP_ALLOWNONE是一個標誌,所以它不應該丟失,除非它被明確刪除。我假設你的意思是小部件的可視狀態,並且爲此做了什麼取決於本地控制以及它如何選擇表示當前值。在wxWidgets中這樣的事情的通常模式是使用給定類型的無效對象來表示空,空,默認等等。所以我會嘗試使用self.m_datePicker23.SetValue(wx.DefaultDateTime)