2017-04-06 8 views
0

PyQt5を使用して2つのウィンドウを開こうとすると、セグメンテーションエラーメッセージを表示して残酷なpythonの終了を経験しました。PyQt5を使用したセグメンテーションエラーのpython終了

最小限の再生エラーは次のとおりです。私たちは、最初のウィンドウが第二の窓の開口部を妨げること

Python 3.5.2 (default, Nov 17 2016, 17:05:23) 
[GCC 5.4.0 20160609] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> from PyQt5 import QtCore, QtGui, QtWidgets 
>>> def application(): 
...  import sys 
...  app = QtWidgets.QApplication(sys.argv) 
...  Dialog = QtWidgets.QDialog() 
...  Dialog.show() 
...  app.exec_() 
... 
>>> import sys 
>>> app = QtWidgets.QApplication(sys.argv) 
>>> MainWindow = QtWidgets.QMainWindow() 
>>> list = application() 
>>> MainWindow.show() 
Segmentation error (core dumped) 

疑い。 どうすれば問題なく2つのウィンドウを開くことができますか?

+0

なぜ2つの 'QApplication'オブジェクトを作成していますか? –

答えて

1

私は問題がある2つのQApplicationオブジェクトを作成したためです。 このプログラムもこのコードで動作します:

from PyQt5 import QtCore, QtGui, QtWidgets 

def application(): 
    import sys 
    Dialog = QtWidgets.QDialog() 
    Dialog.show() 
    app.exec_() 


if __name__ == "__main__": 
    import sys 
    app = QtWidgets.QApplication(sys.argv) 
    MainWindow = QtWidgets.QMainWindow() 
    list = application() 
    MainWindow.show() 
    sys.exit(app.exec_()) 
関連する問題