嘿,伙计们,我试着调试这个问题有一段时间了,但是没有用。在
我定义了一个绑定到一个按钮的函数,该按钮调用一个FileDialog,如果用户单击OK,该函数将继续。在ID_OK之后,我试图调用一个简单的对话框,提示用户从另一个目录选择文件。此消息对话框出现后,用户在第一次单击时无法按“确定”或“取消”会立即出现延迟。需要反复点击按钮才能做出反应。如果有人知道这里发生了什么,或者可以做些什么来调试这个问题,我将非常感激:)。我附加了代码片段(虽然使用了一个单独的choicedialog,但行为与MessageDialog相同)。对于记录,dlg在条件语句之后被销毁。在def openFile(self, event):
import os
import re
import csv
import sets
import datetime
dlg = wx.FileDialog(self, "Choose file(s)", os.getcwd(), "", "*.*", wx.OPEN | wx.MULTIPLE | wx.CHANGE_DIR)
if dlg.ShowModal() == wx.ID_OK:
path = dlg.GetPaths()
test = wx.SingleChoiceDialog(self, 'Add more files from different directories?', 'Selected Files', path, style=wx.CHOICEDLG_STYLE)
while test.ShowModal() == wx.ID_OK:
dlgAdd = wx.FileDialog(self, "Choose file(s)", os.getcwd(), "", "*.*", wx.OPEN | wx.MULTIPLE | wx.CHANGE_DIR)
if dlgAdd.ShowModal() == wx.ID_CANCEL:
break
dlgAdd.Destroy()
path = path + dlgAdd.GetPaths()
test = wx.SingleChoiceDialog(self, 'Add more files from different directories?', 'Selected Files', path, style=wx.CHOICEDLG_STYLE)
test.Destroy()