所以我正在为我的 HSC 制作我的主要项目,其中包括三个银行计算器。
在进行计算之前,我从各种 TextCtrls 中收集数据。对于我的储蓄计算器,我有两个 TextCtrl,一个用于数年,一个用于数月。为了使程序更直观,我希望各自的 TextCtrl 值说“年”或“月”,而不是我的 StaticText 说“储蓄期限(年 - 月)”。
但是,单击 TextCtrl 后,它会清除该框的内容,但在第一次单击后我无法再次关注该框。即使值为空白,clear 函数仍会继续运行,并且重新聚焦的唯一方法是通过 Tab 键切换到该字段。代码片段如下:
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)