繁体   English   中英

通过按另一个py文件上的按钮来打开py文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM