2012-08-28 196 views
0

如何在主窗口開始之前顯示一個彈出窗口?我希望彈出窗口有幾個QLineEdit小部件來接收我需要用於主窗口的輸入。我尋找解決方案,但我無法理解我發現的大多數例子。有人能幫我嗎?在主窗口運行之前顯示一個彈出窗口

+0

到目前爲止,您有什麼?發佈一個鏈接到例子,我們會盡力引導你。 –

+0

或者只是一個想法:你可以嘗試子類'QSplashScreen' ... –

+0

使用'QSplashScreen'我們在哪裏定義的東西? main.cpp或mainwindow.cpp – SamuelNLP

回答

1

只要創建一個QDialog的子類,在運行正常啓動邏輯之前以模態方式執行它。

多數民衆贊成我是如何做一個需要登錄的應用程序,工作得很好。這將是Python的一般想法(在PyQt中花費我的時間更少):

import sys 

from PyQt4 import QtGui, QtCore 
from mymodule import MyDialog, MyWindow 

def main(argv): 
    app = QtGui.QApplication(argv) 

    # make a dialog that runs in its own event loop 
    dlg = MyDialog() 
    if (not dlg.exec_()): # in C++, this would be dlg->exec() 
     sys.exit(0) 

    var1, var2, var3 = dlg.values()   

    window = MyWindow() 
    window.setPropertyOne(var1) 
    window.setPropertyTwo(var2) 
    window.setPropertyThree(var3) 
    window.show() 

    sys.exit(app.exec_()) 

if (__name__ == '__main__'): 
    main(sys.argv) 
+0

如何創建鏈接到此的.ui文件? – SamuelNLP

+0

你能看到這個,看看你能幫助我嗎? http://stackoverflow.com/questions/12180617/hide-qdialog-and-show-mainwindow – SamuelNLP

+0

當然,我也只是在那裏回答 –