0

以下のコードは、sqlalchemy を使用して、sqlite3 マップ テーブル (Ppe) の日付をチェックします。次に、これらの日付を使用して、comboBox イベントで wxForm のフィールドに入力します。

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)

問題のコントロールのイメージ。

私がやろうとしているのは、DatePickerCtrl の ALLOWNONE 状態をリセットし、チェックボックスをクリアする、Ear Defender の Null 日付のエントリをテーブルに再入力するときです (発行されていないため)。

self.m_panel1681.Refresh() (親パネル) を試し、パネルと DatePickerCtrl の非表示と表示も試みました。

どんな助けでも大歓迎です。

ありがとうポール。

4

1 に答える 1

1

wxDP_ALLOWNONEフラグであるため、明示的に削除しない限り、それが失われることはありません。あなたが意味するのはウィジェットの視覚的な状態であり、そのために何が行われるかは、ネイティブ コントロールと現在の値をどのように表現するかによって決まると思います。wxWidgets でのこのようなものの通常のパターンは、指定された型の無効なオブジェクトを使用して、空、null、デフォルトなどを表すことself.m_datePicker23.SetValue(wx.DefaultDateTime)です。

于 2016-07-11T23:29:46.520 に答える