【问题标题】:Running a wxPython application in a Windows environment w/o the command prompt displaying在不显示命令提示符的 Windows 环境中运行 wxPython 应用程序
【发布时间】:2011-12-19 16:21:28
【问题描述】:

我使用 wxPython 开发了一个应用程序,并使用 cx_freeze 将其转换为 .exe。我在 WinXP 上安装了该应用程序,它工作正常。我唯一的疑虑是 gui 应用程序在其后面运行命令提示符。我怎样才能摆脱这个命令提示符?我想它在那里显示错误等......必须有一种方法将错误重定向到日志文件而不是显示这个命令提示符?提前致谢。

代码:

【问题讨论】:

    标签: windows wxpython


    【解决方案1】:

    How can I hide the console window when freezing wxPython applications with cxFreeze?

    我也写了这个有一个解决方案:

    http://www.blog.pythonlibrary.org/2010/08/12/a-cx_freeze-tutorial-build-a-binary-series/

    关键部分在文末:

    from cx_Freeze import setup, Executable
    
    exe = Executable(
        script="sampleApp.pyw",
        base="Win32GUI",
        )
    
    setup(
        name = "wxSampleApp",
        version = "0.1",
        description = "An example wxPython script",
        executables = [exe]
        )
    

    你需要这样说的位:base="Win32GUI"

    那么它应该可以工作了。

    【讨论】:

    • 上述工作....但是,我有一个快速的问题。在 WinXP 经典模式和 XP 模式下运行时,我的窗口大小略有不同。经典模式按比例显示所有内容; XP 模式的按钮大小相同,但屏幕与它们重叠。如何在各种 Windows 平台上获得一致的外观。
    • 我对你的程序了解不多。当您稍微调整框架大小时,它们是否会“弹回”到位?如果是这样,那么您需要在 init 末尾附近添加一个 self.Layout() 调用。
    • 其实我是用SetSizeHints来锁屏的。我不希望用户进行调整。现在,我可以只为在 XP 模式下运行他/她的电脑的用户提供另一个应用程序(更改窗口大小以适应)。但是,必须有某种方式可以自我调整到用户仍然无法调整大小的位置。
    • 也许你的尺寸太小了?您是否尝试过调用 Layout?
    • 我发布了一些代码只是为了获得一些见解和您的观点,因为我仍然是 wxPython 的新手。希望尽快掌握你的技能。复制/粘贴时,我不确定代码是否正确对齐。所以,这里和那里可能存在一些偏差。
    【解决方案2】:

    您可以将您的 .py 文件重命名为 .pyw,然后它将在不显示控制台的情况下运行。

    【讨论】:

      猜你喜欢
      • 2014-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多