2017-08-04 39 views
2

私の主なアプリケーションでは、QDialogを開き、このQDialogから別のものを開く/表示したいと思います。この2番目のダイアログに焦点を当てて表示するのではなく、メインアプリケーションの背後に表示され、ブロックされている/無効になっています。A別のQDialogからのQDialogが表示されない

mainform.pyにおいて:ファイルUI_Form1.pyで

form_gui = uic.loadUiType("mainform.ui")[0] # Load the UI 
class MainForm(QtGui.QMainWindow, form_gui): 
    def __init__(self, parent=None): 
     QtGui.QMainWindow.__init__(self, parent) 
     self.btnOpenForm1.clicked.connect(self.showFirstDialog) 
    ... 
    def showFirstDialog(self): 
     browser1 = UI_Form1(self) 
     browser1.setWindowTitle('UI_Form1') 
     browser1.show() 
    ... 
if __name__ == "__main__": 
    app = QApplication(sys.argv) 
    myapp = MVSGUI() 
    myapp.show() 
    sys.exit(app.exec_()) 

:ファイルUI_Form2.pyで

form_gui = uic.loadUiType("uiform1.ui")[0] # Load the UI 
class UI_Form1(QtGui.QDialog, form_gui): 
    def __init__(self, parent): 
     super(UI_Form1, self).__init__(parent) 
     self.btnOpenForm2.clicked.connect(self.showSecondDialog) 
    ... 
    def showSecondDialog(self): 
     browser2 = UI_Form2(self) 
     browser2.setWindowTitle('UI_Form2') 
     browser2.show() 
    ... 

form_gui = uic.loadUiType("uiform2.ui")[0] # Load the UI 
class UI_Form2(QtGui.QDialog, form_gui): 
    def __init__(self, parent): 
     super(UI_Form2, self).__init__(parent) 
    ... 
各形態は、別々のファイルであります

何が間違っているのかを推測するのは簡単かもしれませんが、解決方法を見つけることはできません。

+0

コードで再生することは容易ではありません。 'python script.py'を実行し、あなたの問題を見るための最小限のスクリプトを教えてください。 –

+0

は、両方のダイアログは、私はプッシュボタンの宣言を示すコードを編集したタイガー・222 @ – Mailerdaimon

+0

モーダルされていないことを確認してください。したがって、mainform.pyはメインGUIを作成します。最初のダイアログを開くためのボタンがあります。この最初のダイアログはファイルUI_Form1.pyにあり、2番目のダイアログを開くボタンがあります。したがって、この2番目のダイアログは最初のダイアログの前に表示されますが、代わりにメインウィンドウの後ろで無効になります。どのように私は、彼らはモーダルされていないことを確認することができ、これは –

答えて

2

QDialogは、モーダルモードとモードレスモードで作成できます。同時に複数のものを使用したい場合は、それらをモードレスにしてください。

QDialogのdocumentationを見ると、モーダルモードの変更方法を確認できます。 modality enumを使用してモーダルウィンドウの動作を変更することもできます。

またdocumentation状態、右のタスクのための適切なツールを使用してください:ダイアログウィンドウは、ほとんどのユーザーと短期のタスク と簡単なコミュニケーションのために使用され、トップレベルのウィンドウで

関連する問題