我刚刚在我的PyQt应用程序中编写了启动画面,在启动之前显示图像。我用过QSplashscreen。 问题是,图像显示,比方说,一次在20次。在其他情况下,有一个灰色的矩形显示istead。 截图两种情况:为什么QSplashscreen不总是工作?
是否工作:http://dl.getdropbox.com/u/1088961/prob2.jpg
不起作用:http://dl.getdropbox.com/u/1088961/prob1.jpg
我试图拖延开始窗口,但如果灰色的矩形变为画面它消失之前(即使我延迟一切10秒)。
这是我的代码:
# -*- coding: utf-8 -*-
import sys
from time import time, sleep
from PyQt4.QtGui import QApplication, QSplashScreen, QPixmap
from gui.gui import MainWindow
def main():
app = QApplication(sys.argv)
start = time()
splash = QSplashScreen(QPixmap("aquaticon/images/splash_screen.jpg"))
splash.show()
if time() - start < 1:
sleep(1)
win = MainWindow()
splash.finish(win)
win.show()
app.exec_()
if __name__ == "__main__":
main()
我使用Debian的Linux在Fluxbox(但它是侏儒一样的)。
谢谢,现在一切工作正常:) – daniel90 2013-02-20 22:41:46
注意QSplashScreen有相当拙劣的bug这意味着除非你有一个主循环,否则你只会得到一个灰色的矩形:https://bugreports.qt-project.org/browse/QTBUG-24910 – xioxox 2013-06-04 18:56:26