gpt4 book ai didi

python - wxPython - 应用程序更新程序

转载 作者:太空宇宙 更新时间:2023-11-03 18:45:11 25 4
gpt4 key购买 nike

Iv 使用 wxPython 和 cefPython 构建了一个应用程序。现在我正在构建一个更新程序来更新我的软件。

流程如下:

  1. 应用启动后就会调用更新程序
  2. 更新程序使用 API 进行检查
  3. 如果版本早于 API,则会下载新的压缩包
  4. 下载完成后,它会关闭应用程序
  5. 已关闭,现在应该提取新文件,
  6. 已解压,现在必须再次打开程序。

我认为问题出现在第 4 点,因为我认为该流程已关闭,因此现在其余步骤不会发生。

如果这是问题所在,我应该如何执行此操作,以便更新程序(我从主程序导入和调用)也不会关闭。

这是一些代码:

import updater (updater.py)

class MyApp(wx.App):
timer = None
timerID = 1
def OnInit(self):
if not USE_EVT_IDLE:
print("Using TIMER to execute the CEF message loop work")
self.CreateTimer()
global frame
frame = MainFrame()
self.SetTopWindow(frame)
frame.Show(False)
**thread.start_new_thread(checkForUpdate, ()) --- This is where im calling the update function**
return True



def checkForUpdate():
print("Checking for update: %s" % time.ctime())
updater.callAPI()
threading.Timer(120, checkForUpdate).start()

谢谢

最佳答案

既然你使用wxPython,为什么不使用它的内置更新模块呢?我认为它们是在最新版本的 2.8 中添加的,并且肯定包含在 2.9 中。他们基本上采用了 Esky 项目并将其包装在 wxPython 帮助程序中,以使其更易于使用。我在这里写了一个关于这个主题的教程:

您可以在这里阅读有关 esky 的信息:

我也听说过“goodasnew”项目,但我还没有尝试过:

关于python - wxPython - 应用程序更新程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19702476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com