python - 每次我运行用 pythonnet 编写的 windows 窗体应用程序时,都会在旁边打开一个控制台窗口。找不到关闭它的方法
问题描述
我正在使用 pythonnet 构建一个 Windows 窗体应用程序。我已经构建了一个非常基本的应用程序,代码如下!,我使用 pyinstaller 将它变成了一个 exe。但是每次我运行 exe 文件时,都会在 gui 应用程序旁边打开一个控制台窗口。我找不到关闭该控制台窗口的方法。任何帮助将不胜感激!
ps 我希望我的问题是有道理的!
这是代码:
import clr
clr.AddReference('System.IO')
clr.AddReference('System.Drawing')
clr.AddReference('System.Windows.Forms')
clr.AddReference('System.Threading')
import System
import System.IO
import System.Drawing
import System.Windows.Forms
import System.Threading
class homePage(System.Windows.Forms.Form):
def __init__(self):
self.Text = "AppTest1"
self.BackColor = System.Drawing.Color.FromArgb(200, 150, 190)
self.ClientSize = System.Drawing.Size(600, 600)
def run(self):
System.Windows.Forms.Application.Run(self)
def main_form_thread():
app_form = homePage()
app_form.run()
if __name__ == "__main__":
main_form_thread()
我在网上得到的答案是关于如何通过创建一个新的进程对象并将其 UseShellExecute 设置为 false 从我的新代码运行外部 exe 文件。但我不想从另一个 exe 文件调用我的 exe 文件,我希望能够运行主 exe 文件而不打开控制台窗口。另外,我无法让 System.Diagnostics.Process 在 pythonnet 中工作。
ps 我刚开始pythonnet。
解决方案
好的!我知道了!!结果我的问题错了!我应该问,使用 PyInstaller 构建时应该如何禁用控制台窗口。这个问题已经在这里回答了
如果您懒得点击链接,那么只需--noconsole
在使用 pyinstaller 构建时添加此标志,就像这样
pyinstaller --noconsole your_script_name.py
推荐阅读
- dart - 异步拦截器(gRPC dart)
- python - 我可以控制在 SqlAlchemy 连接池中进行预 ping 连接检查的频率吗?
- javascript - 如何使用 AJAX 自动完成触发 JQuery
- powershell - 詹金斯-> powershell Invoke-WebRequest 与 UseDefaultCredentials
- javascript - 如何使用 nodejs 发送 udp 包?
- javascript - 覆盖外部小部件的 CSS 样式
- python - 如何使用硒保存关注者列表?
- c++ - Visual Studio Code - 为 C++ 配置 OpenCV 库
- google-home - 以编程方式获得与向 Google Home 发出命令相同的结果?
- nginx - 安装 nginx 请求后随机挂起