それで、私は 3 つの銀行電卓で構成される HSC の主要プロジェクトを作成しています。
計算を行う前に、さまざまな TextCtrls からデータを収集します。私の貯蓄電卓には、2 つの TextCtrls があり、1 つは年用、もう 1 つは月用です。プログラムをより直感的にするために、それぞれの TextCtrl の値を、'Savings Term (Years - Months)' という StaticText ではなく、'Years' または 'Months' にしたいと考えています。
ただし、TextCtrl をクリックすると、ボックスの内容がクリアされますが、最初のクリック後にボックスに再び集中することはできません。値が空白であってもクリア機能は引き続き実行され、再度フォーカスする唯一の方法はタブでフィールドに移動することです。コードのスニペットは次のとおりです。
self.SavingLabel4 = wx.StaticText(self.Savings_Pane, -1, " Savings Term (Years - Months)")
self.Savings_TermYears = wx.TextCtrl(self.Savings_Pane, -1, "Years")
self.Savings_TermYears.Bind(wx.EVT_LEFT_DOWN, self.ClearText123)
def ClearText123(self, event):
print self.Savings_TermYears.GetValue() # print the value of the text control
if self.Savings_TermYears.GetValue != '': # if the control isn't blank, clear it
self.Savings_TermYears.Clear()
print 'Cleared' # outputs that the clear function was used (just for testing)