在下面的代码中,我试图在单击“保存”按钮时捕获ComboBox的当前值。
我已经定义了EVT_BUTTON触发的函数,该函数捕获TextCtrl字段中的值,但不适用于ComboBox。
我尝试了一些不同的方法,例如尝试分配给audit_engineer = self.engineer_name。
任何人都可以帮助我吗?
此致 保罗。
class CreateAudit(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
self.lblname = wx.StaticText(self, label = "Site Name :", pos=(20,60))
self.site_name = wx.TextCtrl(self, value = "Enter site name here.", pos=(150, 60), size=(140,-1))
self.lblname = wx.StaticText(self, label = "Job Number", pos=(20,120))
self.job_number = wx.TextCtrl(self, value = "4 digit number only.", pos=(150, 120), size=(140,-1))
con = sqlite3.connect("hs_audit.sqlite")
con.row_factory = lambda cursor, row: row[0]
myList = con.execute('SELECT engineer FROM T1').fetchall()
self.lblname = wx.StaticText(self, label="Select Engineer :", pos=(20,180))
self.engineer_name = wx.ComboBox(self, pos=(150, 180), size=(140,-1)).SetItems(myList)
self.save_button =wx.Button(self, label="Save", pos=(150, 400))
self.save_button.Bind(wx.EVT_BUTTON, self.save_details)
self.Show()
def save_details(self, event):
audit_site = self.site_name.GetValue()
audit_engineer = self.engineer_name.GetValue() #<-- DOES NOT WORK NONE VALUE ERROR
audit_jobnumber = self.job_number.GetValue()
print audit_site
print audit_engineer
print audit_jobnumber
答案 0 :(得分:0)
更改
self.engineer_name = wx.ComboBox(self, pos=(150, 180), size=(140,-1)).SetItems(myList)
到
self.engineer_name = wx.ComboBox(self, pos=(170, 180), size=(170,-1), choices = myList)
诀窍。我认为,首先要考虑复杂的语法。 修复这些小事需要一个年龄,但我很享受学习曲线。