[英]Open a py file from pressing a button on another py file
我正在使用带有多个* .py脚本的wxpython编写游戏,我想当我按下主脚本中的按钮时,启动另一个脚本。
示例:我为具有多个选项的游戏菜单窗口启动了一个* .py脚本。 当我按下选项按钮时,它将启动另一个分配给该按钮的脚本,并打开选项窗口
我怎样才能做到这一点? 谢谢
不要单击按钮时启动另一个* .py文件,而应重新考虑如何组织代码。 将每个窗口分成不同的python脚本可能不是走的路。 这要求您对子流程进行一些混乱的工作,并且最终可能会遇到大量竞争条件。
更好的方法是将代码组织到模块中 ,将它们导入主程序,并在需要时调用它们。
例如,如果您将与游戏配置有关的所有事情都放在settings
模块中并导入了它,而不是告诉操作系统使用Python解释器运行脚本,则只需从主程序中调用settings.show_window()
。
您是否尝试过使用子流程?
您可以将按钮事件分配给子流程以启动另一个py脚本。
好吧,我建议仅在要运行脚本直到脚本关闭的情况下才使用os
模块,或者换句话说,例如,将主脚本放在地面上并集中在选项窗口中
在Windows中使用os.system('script_name.py'
)<
或os.system('python script.py')
<在Linux中授予权限后
通常使用os.system或子进程来启动新的Python脚本,但是听起来您想要做的只是在wxPython中打开另一个框架或对话框。 如果是这样,则只需将所有辅助框架代码放入一个单独的文件中,然后将其导入到主文件中即可。 然后在主框架的按钮事件处理程序中实例化该框架并显示它。 如果要显示对话框,则同样适用。 您可以在此处看到显示辅助框架的一般想法: http : //www.blog.pythonlibrary.org/2010/06/27/wxpython-and-pubsub-a-simple-tutorial/ (尽管它隐藏了主框架)在该示例中)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.