嗨,伙计们,我试过所有的方法了,现在我向你们请教。
我无法隐藏我的信箱。
代码为:
ans = wx.MessageBox("length = %s , height = %s " % (str(len), str(ht)))
if ans = wx.Yes:
subprocess.call("pword | sudo -S ./Install.sh %s %s" % (str(len),str(ht))) 第三行需要大约6-7分钟来完成.till的时间消息框将出现在屏幕上,我想让它隐藏,直到安装过程得到完成。我尝试了隐藏,未来调用,关闭,Disable..but每次我得到‘整型对象没有属性“。
发布于 2013-02-23 20:59:00
在wxMessageBox()返回之前,消息框必须被隐藏并销毁,这里一定有其他事情发生。
通常,如果您希望确保所有挂起的事件都已处理(因此所有应该重新绘制/调整大小/关闭的窗口都确实得到了处理),请稍后使用wx.CallAfter()启动长时间运行的流程。
当然,从GUI程序运行阻塞操作花费几分钟时间无论如何都不是一个好主意,但这是另一回事了……
发布于 2013-02-23 14:29:04
如果您需要对消息框进行更多的控制,请改用消息对话框。消息框直接返回答案,因此您无法控制窗口。创建消息对话框可让您控制窗口。
下面是一个简单的例子:
import wx
app = wx.App(False)
box = wx.MessageDialog(None, 'Yes or No?', caption='Dialog Title', style=wx.YES_NO | wx.YES_DEFAULT)
result = box.ShowModal()
box.Destroy()
if result == wx.ID_YES:
print 'yes'
else:
print 'no'https://stackoverflow.com/questions/15037378
复制相似问题