- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我们在项目中使用Python2.3和wxPython V2.4.2.4。而且运行良好。现在我们将其升级到Python2.7和wxPython2.8.12.1。我们的项目在新版本中编译得很好。但在我们的项目中,在代码的一个阶段,我们销毁当前窗口,然后再次创建并打开新窗口。我注意到创建新窗口后我们的代码不会执行。而在旧版本中它正在执行。
在下面的代码中。它显示消息“doRead 1”,然后打开窗口。但它不显示消息“doRead 2”。而在旧的 Python 版本中,它显示消息“do Read 2”意味着它正在执行此后的代码。
我发现,它不是来自新项目中OnInit(...)函数中的“self.MainLoop()”行。但它正在出来,从而执行旧项目中的下一行。
-----------------------------------------
Here is the code:
#Close existing window.
self.Destroy()
print 'doRead 1'
#create new window
app = App()
print 'doRead 2'
app.frame.saveContents()
------------------------------------
class App(wx.App):
"""Application class.
"""
def OnInit(self):
wx.InitAllImageHandlers()
resetOptions()
setOptions()
self.frame = pdtpFrame()
self.frame.SetTitle(std.getTitle())
self.frame.Show()
self.SetTopWindow(self.frame)
self.MainLoop()
return True
def main():
""" Start up the pdtp main window application.
"""
app = App()
if __name__ == '__main__':
main()
最佳答案
你的麻烦(据我所知)是你的 MainLoop 位于 OnInit 函数内,这会停止你的程序流程。老实说,我无法说出它以前是如何工作的,因为在 OnInit 返回 True
之前,您不应该能够进入应用程序的 MainLoop。 OnInit 可能会返回 False,在这种情况下,应用程序未完全初始化(例如,如果您使用锁定文件执行单实例应用程序,则很常见)。更常见的方法(伪代码)如下所示:
app = wx.PySimpleApp()
f = Frame(None, -1, "Some Title For This Frame")
f.Show()
app.MainLoop()
# Down here more code can follow.
直到所有顶级窗口从先前的 App 实例关闭,或者其他东西调用 wx.GetApp().ExitMainLoop()
之前,它不会执行更多代码。
关于python - 不是从 MainLoop() 出来的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7883948/
我试图找到一些关于 tk.mainloop() 与 root.mainloop() 的使用的问答或文章,但没有成功。 我的问题是:这两种用途之间有什么区别吗?对我来说,正确的方法是使用 tk_inst
我是 Stack Overflow 的新成员。我找到了这个线程,但不允许对其发表评论或提问,所以我想我只能在这里引用它:How can I make a in interactive list in
我是 python 的新手,正在尝试设置功能测试环境。测试环境应通过 DBus 接收信号并对其进行评估。 DBus 信号使用 GLib MainLoop。我有以下封装循环的类: class Signa
我有一个 Python 脚本,可以根据 D-Bus 事件执行操作,这是其简化版本: import dbus from dbus.mainloop.glib import DBusGMainLoop i
有没有办法让我在后台运行 mainloop()?我不想增加线程的复杂性。提前致谢。 最佳答案 没有。 GUI 框架的主循环必须始终在前台运行。 关于Python:有没有办法让我在后台运行 mainlo
这不是 Python tkinter mainloop not quitting on closing the window 的副本 我有一个基于 tkinter 构建的应用程序。我观察到有时在我使用
我正在尝试创建一个使用 tkinter 显示图像的程序。到目前为止,我编写的代码完美地显示了图像,但是程序在 tkinter 窗口关闭之前不会继续。我想知道是否有任何函数代替 .mainloop()
我正在使用 wxWdigets(确切地说是 wxPython)来显示一些模式对话框。 本页https://wxpython.org/Phoenix/docs/html/wx.EventLoopBase
应用简介: 我有 Cordova/Ionic 应用程序和自定义 Cordova 插件以执行 native 代码。 插件包含单独的 CameraActivity(扩展 FragmentActivity)
在主程序主循环中,我正在通过调用 tibemsMsgConsumer_Receive 来收听 EMS 主题。同时,我想在特定时间退出程序,比如下午 5 点。我该如何实现? 我尝试使用以下代码,但在没有
我有来自 online tutorial 的以下代码通过制作一个在单击鼠标时改变状态的 parking 灯来学习基于事件的编程。这是我的全部代码: import turtle turtle.setup
我们在项目中使用Python2.3和wxPython V2.4.2.4。而且运行良好。现在我们将其升级到Python2.7和wxPython2.8.12.1。我们的项目在新版本中编译得很好。但在我们的
我正在尝试创建一个基本的 Tkinter 窗口。 根据在线教程,要创建一个窗口,必须使用以下命令: import Tkinter window=Tkinter.Tk() window.mainloop
我有一个模块使用 python“threading”实现并发,使用“signal”实现关闭 Hook : signal.signal(signal.SIGINT, self.shutdownhook)
我是 Android 世界的新手。跟随和我应该使用哪个在主线程上运行方法之间到底有什么区别? 1) Handler mainHandler = new Handler(getApplicationCo
到现在为止,我曾经用 tk.mainloop() 结束我的 Tkinter 程序,否则什么都不会出现!见例子: from Tkinter import * import random import t
我在我的 Python 应用程序中使用 PyGObject 的 GLib.MainLoop() 并有一个问题。 是否可以处理 loop.run() 中引发的 Python 异常? 例如,我正在使用 G
好吧,我正在编写一个程序,以对应该在循环中显示字母的文本进行动画处理: Th 不过 汤姆 托马 托马斯 托马斯 托马斯苏 托马斯成功... 依此类推,直到重置,然后再次循环。问题是, tkinter
我不熟悉 python,特别是 GUI 问题。我正在尝试添加其他类的图像,我找到了一种添加其他对象但不添加图像的方法。此代码工作正常: from Tkinter import * from PIL i
我正在使用 Python 进行编程,但有几个问题无法在任何地方找到答案(请阅读所有问题,因为它们构成了我的最后一个问题): 1..mainloop() 的作用是什么?我阅读了 Stack Overfl
我是一名优秀的程序员,十分优秀!