Python中文
首页
教程
问答
标签
搜索
登录
注册
wxPython:ProgressDialog崩溃
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个建立联系的程序。当它试图连接时,它会创建一个ProgressDialog。当连接失败时,它应该干净地关闭ProgressDialog,但是它没有,它会分离故障。在</p> <p>下面是有关代码的简化示例。您可以通过运行此脚本并按几次enter来复制此行为,这将单击应用程序中的“唯一”按钮并触发代码以尝试连接。在</p> <p>到目前为止,我只知道应用程序只有在第53行“print('after_pulse')”不运行时才会崩溃,这说明“pulse”调用有问题,但我不知道是什么。在</p> <p>有人知道是什么导致代码崩溃吗?在</p> <p>如果没有,你能至少复制这种行为吗?在</p> <p>规格:</p> <p>Ubuntu 12.04版</p> <p>Python 2.7.3</p> <p>wxPython 2.8.12.1版</p> <p>编辑:更小的例子程序没有扭曲的代码。在</p> <pre><code>#!/usr/bin/env python '''test2''' import wx # Must be imported before any other wx modules class TestFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, title='TestFrame') self.button = wx.Button(self, label='test') self.button.Bind(wx.EVT_BUTTON, self.button_handler) self.button.SetFocus() def button_handler(self, event): pd_style = wx.PD_APP_MODAL|wx.PD_CAN_ABORT|wx.PD_SMOOTH self.pd = wx.ProgressDialog('test_title', 'test_msg', parent=self, style=pd_style) self.pd.SetFocus() self.timer = wx.Timer(self) self.Bind(wx.EVT_TIMER, self.on_timer, self.timer) self.timer.Start(1000/60, False) wx.CallAfter(self.err_connection) def on_timer(self, event): print('before_pulse') cont, _skip = self.pd.Pulse() print('after_pulse') if not cont: self.err_connection() def err_connection(self): print('err_connection') self.timer.Stop() self.pd.Destroy() self.button.SetFocus() def main(): app = wx.App() frame = TestFrame() frame.Show() app.MainLoop() if __name__ == '__main__': main() </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我发现showmodel()是必需的,例如</p> <pre><code>dlg = wx.ProgressDialog(title, msg, maximum=100) dlg.ShowModal() dlg.Update(0, "Please Wait...") ... dlg.Destroy() </code></pre> <p>如果没有showmodel(),应用程序将在下次尝试显示另一个进度对话框时崩溃。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
尽管Python中的所有内容都是引用,为什么Python导师在没有指针的列表中绘制字符串和整数?
1 回答
尽管python中的表达式为false,但循环仍在运行
5 回答
尽管python代码正确,但从nifi ExecuteScript处理器获取语法错误
7 回答
尽管Python在Neovim中工作得很好,但插件不能识别Neovim中的Python主机
8 回答
尽管python字典包含了大量的条目,但它并没有增长
3 回答
尽管python说模块存在,为什么我会得到这个消息?
2 回答
尽管setuptools和控制盘是最新的,但无法识别singleversionexternallymanaged
4 回答
尽管stdout和stderr重定向,但未捕获错误消息
7 回答
尽管Tensorboard的事件太大,但Tensorboard的步骤太少了
5 回答
尽管tkinter上的变量已更改,但显示未更改
9 回答
尽管try/except使用Python进行单元测试时出现断言错误
9 回答
尽管URL是sam,但仍会抛出“达到最大重定向”
3 回答
尽管url有效,Pandas仍读取url的\u csv错误
7 回答
尽管while中存在时间延迟,但LINUX线程的CPU利用率为100%(1)
5 回答
尽管x0在范围内,Scipy优化仍会引发ValueError
2 回答
尽管xpath正确,但使用selenium单击链接仍不起作用
10 回答
尽管下载了ffmpeg并设置了路径变量python,但没有后端错误
8 回答
尽管下载了i,但找不到型号“fr”
1 回答
尽管下载了plotnine包,但未获取名为“plotnine”的模块时出错
1 回答
尽管为所有行指定了权重,网格(0)仍不起作用
5 回答