当前位置: 首页 > 知识库问答 >
问题:

如何在OSX上使用cx_Freeze隐藏控制台

翟修永
2023-03-14

我用tkinter创建了简单的GUI,然后我用cx_Freeze创建了。exe文件,当我打开。exe文件时,它显示的是控制台而不是GUI窗口。我想要的是隐藏控制台,只是为了显示GUI窗口。

null

from tkinter import Tk, Label, Button, BOTTOM
root = Tk()
root.title('Button')
Label(text='Hello').pack(pady=15)
Button(text='Button').pack(side=BOTTOM)
root.mainloop()

setup.py文件代码:

from cx_Freeze import setup, Executable
base = None
executables = [
         Executable('hello.py', base=base)
              ]
setup(name='simple_Tkinter',
  version='0.1',
  description='Sample cx_Freeze Tkinter script',
  executables=executables
  )

共有1个答案

轩辕弘雅
2023-03-14

将此添加到setup.py文件中(主要问题)

import sys

base = 'Win32GUI' if sys.platform == 'win32' else None

这也是(以防万一)

buildOptions = dict(
    packages=['scrollFrame', 'searchSetup', "tkinter", "threading", "sqlite3", "openpyxl", "re"],
    include_msvcr=True,
    excludes=['numpy', 'scipy', 'matplotlib', 'pandas', 'jinja2', 'flask']
)

在setup()函数中添加这个

options=dict(build_exe=buildOptions)

完整代码-

from cx_Freeze import setup, Executable

# To compile for windows use---> python setup.py bdist_msi
# To compile for mac use---> python setup.py bdist_dmg

buildOptions = dict(
    packages=['scrollFrame', 'searchSetup', "tkinter", "threading", "sqlite3", "openpyxl", "re"],
    include_msvcr=True,
    excludes=['numpy', 'scipy', 'matplotlib', 'pandas', 'jinja2', 'flask']
)

import sys

base = 'Win32GUI' if sys.platform == 'win32' else None

executables = [
    Executable('MedSort.py', base=base)
]

setup(name='MedSort',
      version='2.0',
      description='Medical Indent management',
      options=dict(build_exe=buildOptions),
      executables=executables)

你可以在这里找到相同的解决方案

 类似资料:
  • 问题内容: 我写了一些如下的语句: 两者都会弹出一个控制台。 如何阻止它弹出控制台? 问题答案: 该过程可以隐藏控制台窗口: 或设置创建标志以禁用创建窗口: 上面仍然是一个控制台进程,具有用于控制台I / O的有效句柄(通过调用所返回的句柄进行验证)。它只是没有窗口,也不继承父级控制台(如果有)。 你可以通过强制孩子完全没有控制台来走得更远: 在这种情况下,子级的标准句柄(即GetStdHandl

  • 问题内容: 我正在用Python写一个IRC机器人。 我希望为Linux和Windows制作独立的二进制文件。主要是希望机器人启动时隐藏控制台窗口,而用户则不能看到该窗口。 我该怎么办? 问题答案: 只需将其保存为.pyw扩展名即可。这将阻止控制台窗口打开。 在Windows系统上,没有“可执行模式”的概念。Python安装程序会自动将.py文件与python.exe关联,以便双击Python文件

  • 问题内容: 我想隐藏密码输入。我在stackoverflow中看到许多答案,但如果按Backspace键,则无法验证值。条件返回false。 我尝试了几种解决方案来覆盖该函数,但是如果按退格键,则会出现缓冲区问题,我看到了不可见的字符。 我按:“ A”,退格键,“ B”,我的缓冲区中有:“ \ u0041 \ u0008 \ u0042”(toString()=’A \ bB’),而不是“ B”。

  • 问题内容: 我有一个简单的Python脚本,该脚本使用selenium和webdriver在Chrome窗口中打开Facebook并自动登录。当我运行它时,Chromedriver控制台窗口将打开并保持打开状态,即使在整个程序执行完毕后,也要自行关闭它。 有没有办法隐藏此控制台窗口?我曾尝试为脚本保留一个“ .pyw”扩展名,但这无济于事,因为它不是脚本的控制台窗口,而是我希望隐藏的Chromed

  • 如何隐藏控制台窗口? 我在gui应用程序中使用无头chrome和selenium从一个网页上抓取数据 启动应用程序时,打开控制台窗口,然后显示chromedriver的日志。 启动应用程序时,有没有办法隐藏chromedriver登录控制台? OS:windows10 python:3.6.3 selenium 3.8.0 chromedriver:2.33 Google Chrome canar

  • 问题内容: 如何从firebug控制台或显示ajax调用的任何内容隐藏ajax请求? 问题答案: 进行JSONP调用。JSONP调用不是真正的ajax请求(因为它们不使用对象,而只是将脚本标签注入DOM)。但是它们不会在Firebug中显示。