【发布时间】:2014-08-04 12:52:26
【问题描述】:
我正在分析一张图片,需要一点时间来处理。当用户单击“分析”按钮时,我希望弹出一个对话框。我需要它是无模式的,这样它就不会中断我的应用程序的流程(因此实际上会发生分析)。我只希望它显示“正在分析图像...”,直到分析完成,此时它消失(这意味着我不需要任何按钮)。这是我目前所拥有的:
class MessageDialog(wx.Dialog):
def __init__(self, message, title):
wx.Dialog.__init__(self, None, -1, title,size=(300, 120))
self.CenterOnScreen(wx.BOTH)
text = wx.StaticText(self, -1, message)
box = wx.BoxSizer(wx.VERTICAL)
box.Add(text, 1, wx.ALIGN_CENTER, 10)
self.SetSizer(box)
我从我的主应用程序框架中调用它:
msg_dialog = MessageDialog("Analyzing image...", "Analyzing")
msg_dialog.Show()
# Do some stuff.....
msg_dialog.Destroy()
当我使用 msg_dialog.Show() 时,“正在分析图像...”文本不显示。如果我将其更改为 msg_dialog.ShowModal(),则会显示文本。我不能使用 ShowModal() 但是因为它暂停了我的程序,破坏了盒子的目的。关于发生了什么的任何想法?感谢您的帮助。
【问题讨论】:
标签: python-2.7 dialog wxpython wxwidgets