【问题标题】:How to open an unreal project in another python project using a button如何使用按钮在另一个python项目中打开一个虚幻项目
【发布时间】:2021-10-28 01:07:10
【问题描述】:

我想创建一个 python 应用程序,并且在该应用程序中我想引入一个按钮,它将带我进入一个虚幻引擎项目。如何通过按钮将这两者连接起来?

【问题讨论】:

  • 请提供您尝试过的内容(可能是您的代码的minimal reproducible example 以及失败的内容),以及您想要什么样的按钮?为此你需要一个 GUI,你想使用什么 GUI 库(你告诉我们)?请提供更多详细信息
  • 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。

标签: python c++ python-3.x unreal-engine4


【解决方案1】:

要打开程序和基本的 tkinter 界面,请使用:

import subprocess
from tkinter import *
root = Tk()
b = Button(root,text="Open",command=lambda: subprocess.call(['C:\\unrealproject.exe']))
b.pack()
root.mainloop()

【讨论】:

  • 首先你不应该导入所有东西(导入时不要使用*),其次是使用os模块几乎相同的方式:os.startfile('path/to/file')
  • @Matiiss 在较大的项目中,一次导入所有内容比一个接一个导入二十行小部件要好。这两个命令几乎相同,都是正确的,所以不知道为什么我会在 subprocess.call 上使用你的命令。
  • 实际上在一个较大的项目中,导入所有内容会更糟糕,它可能会导致名称冲突,顺便说一句很难调试,甚至 PEP 8 也不鼓励在导入时使用*,如果你不想单独导入每个小部件只需执行import tkinter 然后访问像tkinter.Buttonimport tkinter as tk 然后tk.Button 这样的小部件,是的,这两个功能之间没有区别(ossubprocess) ,只是说是另类
  • @Matiiss 你没看错,但是我记得 tkinter 类的名称,并以不同的方式命名我的类。我不喜欢打字太多。
  • 你仍然会犯错误并忘记tkinter提供的所有类(在主包中大约有40个),人们偶尔也会犯from tkinter import *from tkinter.ttk import *的错误,我想你知道这会导致什么。我的意思是,如果你真的知道这个模块,它并没有那么糟糕,但仍然不是最佳实践,特别是因为你可以做import tkinter as tk,并且你得到了所有你只需要使用tk.WidgetName 的类,这就像3 个额外的字符每个小部件(规模相当大,但......您也可以单独导入每个小部件)
猜你喜欢
  • 2022-12-21
  • 1970-01-01
  • 2020-03-14
  • 2021-06-14
  • 2022-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-07
相关资源
最近更新 更多