My wxpython GUI has a method for opening a FileDialog:
def open_filedlg(self,event):
dlg = wx.FileDialog(self, "Choose XYZ file", getcwd(), "",
"XYZ files (*.dat)|*.dat|(*.xyz)|*.xyz", wx.OPEN)
if dlg.ShowModal() == wx.ID_OK:
self.xyz_source=str(dlg.GetPath())
self.fname_txt_ctl.SetValue(self.xyz_source)
dlg.Destroy()
return
if dlg.ShowModal() == wx.ID_CANCEL:
dlg.Destroy()
return
If I want to cancel, I have to hit the "Cancel" button twice. If I reverse the order of the conditionals, Cancel works OK, but then I have to hit the "Open" button twice to get a file name. Using "elif" instead of the second "if" doesn't change the behavior. What is the correct way to do this? Thanks.