2014-09-22 103 views
4

我有简单的启动画面程序,我该如何在启动画面上添加Progress bar如何在启动画面中添加进度条pyqt4

from PyQt4.QtCore import * 
from PyQt4.QtGui import * 


class Form(QDialog): 
    """ Just a simple dialog with a couple of widgets 
    """ 
    def __init__(self, parent=None): 
     super(Form, self).__init__(parent) 
     self.browser = QTextBrowser() 
     self.setWindowTitle('Just a dialog') 
     self.lineedit = QLineEdit("Write something and press Enter") 
     self.lineedit.selectAll() 
     layout = QVBoxLayout() 
     layout.addWidget(self.browser) 
     layout.addWidget(self.lineedit) 
     self.setLayout(layout) 
     self.lineedit.setFocus() 
     self.connect(self.lineedit, SIGNAL("returnPressed()"), 
        self.update_ui) 

    def update_ui(self): 
     self.browser.append(self.lineedit.text()) 


if __name__ == "__main__": 
    import sys, time 

    app = QApplication(sys.argv) 

    # Create and display the splash screen 
    splash_pix = QPixmap('conti.jpg') 
    splash = QSplashScreen(splash_pix, Qt.WindowStaysOnTopHint) 
    splash.setMask(splash_pix.mask()) 
    splash.show() 
    app.processEvents() 

    # Simulate something that takes time 
    time.sleep(2) 

    form = Form() 
    form.show() 
    splash.finish(form) 
    app.exec_() 

在此先感谢

回答

3

我搜索,找到了答案。提领一些

splash.close() 
mainWindow() = MainWindows() 
mainWindow.show() 

请注意使用splash.finish的()将终止应用程序:我们可以添加一个进度条,如下

from PyQt4.QtCore import * 
from PyQt4.QtGui import * 
import time 


class Form(QDialog): 
    """ Just a simple dialog with a couple of widgets 
    """ 
    def __init__(self, parent=None): 
     super(Form, self).__init__(parent) 
     self.browser = QTextBrowser() 
     self.setWindowTitle('Just a dialog') 
     self.lineedit = QLineEdit("Write something and press Enter") 
     self.lineedit.selectAll() 
     layout = QVBoxLayout() 
     layout.addWidget(self.browser) 
     layout.addWidget(self.lineedit) 
     self.setLayout(layout) 
     self.lineedit.setFocus() 
     self.connect(self.lineedit, SIGNAL("returnPressed()"), 
        self.update_ui) 

    def update_ui(self): 
     self.browser.append(self.lineedit.text()) 


if __name__ == "__main__": 
    import sys, time 

    app = QApplication(sys.argv) 

    # Create and display the splash screen 
    splash_pix = QPixmap('conti.jpg') 

    splash = QSplashScreen(splash_pix, Qt.WindowStaysOnTopHint) 
    # adding progress bar 
    progressBar = QProgressBar(splash) 



    splash.setMask(splash_pix.mask()) 


    splash.show() 
    for i in range(0, 100): 
     progressBar.setValue(i) 
     t = time.time() 
     while time.time() < t + 0.1: 
      app.processEvents() 



    # Simulate something that takes time 
    time.sleep(2) 

    form = Form() 
    form.show() 
    splash.finish(form) 
    app.exec_() 
0

要关闭闪屏并打开主窗口使用重要的主窗口参考。