gpt4 book ai didi

python - Qt 启动画面未在 python 中显示

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:14:18 26 4
gpt4 key购买 nike

我正在尝试向我的程序添加启动画面,该程序使用 python 2.7 编码并使用 pyqt4 库。我的主文件是:

#!/usr/bin/env python

from PyQt4.QtCore import *
from PyQt4.QtGui import *
from logindialog import LoginDialog
from mainwindow import MainWindow
import time
import sys


if __name__ == "__main__":
try:
app = QApplication(sys.argv)

mw = MainWindow()

# Create and display the splash screen
splash_pix = QPixmap('images/sherlock_splash.png')
splash = QSplashScreen(splash_pix, Qt.WindowStaysOnTopHint)
splash.setMask(splash_pix.mask())

# adding progress bar
progressBar = QProgressBar(splash)
# adding message
splash.showMessage('Discovering Nodes...', Qt.AlignRight | Qt.AlignBottom, Qt.darkRed)

splash.show()
app.processEvents()

for i in range(0, 100):
progressBar.setValue(i)
# Simulate something that takes time
time.sleep(0.1)

splash.close()

# Show main window
mw.show()
app.exec_()
except Exception:
sys.exit(1)
sys.exit(0)

我使用 Pycharm IDE 对其进行了编码。如果我使用 pycharm RUN 功能运行它,启动画面会正确显示,但是如果我在 linux 命令行 (./main.py) 中运行它,它不会在我启动我的应用程序时显示启动画面。

谁能帮帮我?

非常感谢!

更新和修复

...
# Create and display the splash screen
image_path = os.path.dirname(os.path.realpath(__file__))
splash_pix = QPixmap('/'.join([image_path, 'images/sherlock_splash.png']))
splash = QSplashScreen(splash_pix, Qt.WindowStaysOnTopHint)
...

谢谢!

最佳答案

检查您的项目结构并确保您的.png 文件的相对路径是否正确

'images/sherlock_splash.png' 从命令行运行时。

同时添加以下检查

if splash_pix is not None:
...

关于python - Qt 启动画面未在 python 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32693294/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com