我需要在wxpython应用程序中包含一个进度条,但是我发现的示例使用了一个从固定时间长度开始倒数的计时器。由于我不知道在给定的计算机上运行我的进程需要多长时间,所以我希望进度条在每一个特定步骤完成时更新。在
我修改了一些示例代码来实现这一点,但是它抛出了以下错误:
path/ProgressDialog.py", line 31, in OnTimer
(keepGoing, skip) = self.dialog.Update(self.count)
File "C:\Python26\lib\site-packages\wx-2.8-msw-unicode\wx\_windows.py", line 2971, in Update
return _windows_.ProgressDialog_Update(*args, **kwargs)
PyAssertionError: C++ assertion "value <= m_maximum" failed at ..\..\src\generic\progdlgg.cpp(337) in wxProgressDialog::Update(): invalid progress value
当我在下面的代码中添加try…except语句时,它不会抛出错误,但是我认为一定有一种更好的方法可以做到这一点,而不是简单地在错误消息上画个遮羞布。在
有人能告诉我如何修复我的代码吗?
我的代码如下,包括“删除”错误的try…except语句:
^{pr2}$注意:当我测试这段代码时,我使用while循环来模拟逐步执行过程步骤。但在实际实现中,我会在每次执行之前都有一个特定的过程步骤自我计数增加1。
您的}小于8,但您在循环的第一行增加{},这样就有了一个迭代,其中{}是8,这是进度条的非法值。在
progressMax
为7,循环循环,而{将while条件更改为
count < 7
(方便地count < progressMax
),或者将count
增量移到循环的末尾。在相关问题 更多 >
编程相关推荐