0

メインウィンドウが始まる前に表示されるポップアップウィンドウを作成するにはどうすればよいですか?メインウィンドウに必要な入力を受け取るために、ポップアップにいくつかのQLineEditウィジェットが必要です。解決策を探しましたが、見つけた例のほとんどを理解できませんでした。誰かが私を助けることができますか?

4

1 に答える 1

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)
于 2012-08-28T17:30:55.837 に答える