如何隐藏wxpython中的黑色文件背景

1 投票
1 回答
727 浏览
提问于 2025-04-16 11:11

请先查看这张图片 http://libertygroupllc.com/twowindow.jpg

你好,看看这张图片。如果我点击通过py2exe设置的py.exe文件,会出现两个窗口……显然,我不想要那个黑色背景的窗口(就是python.exe)……那么我该怎么做才能隐藏它,这样当我点击py.exe时,只显示一个窗口呢……

谢谢~


给Mark:

你好,我试过了,但没有成功……让我再多解释一下……

我有一个test.py文件,内容如下:

import wx
class gideon(wx.Frame):
    def __init__(self,parent,id):
    wx.Frame.__init__(self,parent,id,'This is a new window',size=(500,400))
    panel = wx.Panel(self)

    button = wx.Button(panel,label='Exit',pos=(130,10),size=(60,60))
    self.Bind(wx.EVT_BUTTON,self.closebutton,button)
    self.Bind(wx.EVT_CLOSE,self.closewindow)

    status = self.CreateStatusBar()
    menubar = wx.MenuBar()
    first = wx.Menu()
    second = wx.Menu()
    first.Append(wx.NewId(),'New Window','This is a new window')
    first.Append(wx.NewId(),'Open...','This will open a new window')
    menubar.Append(first,'File')
    menubar.Append(second,'Edit')
    self.SetMenuBar(menubar)

def closebutton(self,event):
    self.Close(True)

def closewindow(self,event):
    self.Destroy()

if __name__ == '__main__':
app = wx.PySimpleApp()
frame = gideon(parent=None,id=-1)
frame.Show()
app.MainLoop()

还有setup.py:

from distutils.core import setup
import py2exe
setup(
console=["test.pyw"],
options = { "py2exe": { "dll_excludes": ["MSVCP90.dll"] } }
)

我把这两个文件放在桌面上,然后在命令行中输入:cd desktop,然后运行setup.py py2exe。

根据你的意思,我也无法成功运行test.py或test.pyw……

1 个回答

4

把你的Python文件改成.pyw格式。这样做可以防止第一个命令提示符窗口显示出来。

补充说明:根据你的澄清,问题出在你的setup.py文件里。你应该用'windows='而不是'console='。你可以在这里找到setup.py文件中可以使用的更完整的选项列表。

通过使用:

windows=[ 'test.py' ]

你是在告诉py2exe去创建一个图形用户界面(GUI)的可执行文件,这样就不会显示命令提示符窗口了。

另外,你可以用'test.py'作为输入,而不是'test.pyw'。

撰写回答