首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在wxpython中隐藏消息框

无法在wxpython中隐藏消息框
EN

Stack Overflow用户
提问于 2013-02-23 13:22:20
回答 2查看 641关注 0票数 0

嗨,伙计们,我试过所有的方法了,现在我向你们请教。

我无法隐藏我的信箱。

代码为:

代码语言:javascript
复制
    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每次我得到‘整型对象没有属性“。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-23 20:59:00

wxMessageBox()返回之前,消息框必须被隐藏并销毁,这里一定有其他事情发生。

通常,如果您希望确保所有挂起的事件都已处理(因此所有应该重新绘制/调整大小/关闭的窗口都确实得到了处理),请稍后使用wx.CallAfter()启动长时间运行的流程。

当然,从GUI程序运行阻塞操作花费几分钟时间无论如何都不是一个好主意,但这是另一回事了……

票数 0
EN

Stack Overflow用户

发布于 2013-02-23 14:29:04

如果您需要对消息框进行更多的控制,请改用消息对话框。消息框直接返回答案,因此您无法控制窗口。创建消息对话框可让您控制窗口。

下面是一个简单的例子:

代码语言:javascript
复制
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'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15037378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档