2012-08-28 257 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

当然,我也只是在那里回答 –