【发布时间】:2011-07-06 13:30:48
【问题描述】:
我想将 QSplashScreen 添加到 PyQT4 应用程序。它在 Python 中运行良好, 但是当我使用 py2exe 创建 exe 时,启动图像是不可见的,应用程序等待 2 秒并显示主窗口。怎么了?
应用代码:
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
# Create and display the splash screen
splash_pix = QPixmap('images/splash.jpg')
splash = QSplashScreen(splash_pix, QtCore.Qt.WindowStaysOnTopHint)
splash.setMask(splash_pix.mask())
splash.show()
app.processEvents()
time.sleep(2)
myapp = Main()
myapp.show()
splash.finish(myapp)
sys.exit(app.exec_())
setup.py:
#!/usr/bin/env python
from py2exe.build_exe import py2exe
from distutils.core import setup
setup(name='-',
version='1.0',
description='-',
author='-',
author_email='-',
windows=[{"script": "main.py"}],
data_files=[
('phonon_backend', [
'C:\Python26\Lib\site-packages\PyQt4\plugins\phonon_backend\phonon_ds94.dll'
]),
'settings.yaml',
('images', ['images/accept.png',
'images/splash.jpg',
]),
'loader.png',
'licence.txt',
'about.txt',
],
)
【问题讨论】:
-
预期的行为是什么? exe 在运行时出现错误和堆栈跟踪时是否会生成日志文件,还是会静默失败?你有没有实现任何类型的日志记录,可以让你看到它试图从哪个位置访问启动图像?