PyQt5を使用してアプリケーションを作成しようとしていますが、QOpenGLWidget
(または派生クラス)を組み込むときは、アプリケーションがフリーズします(Windowsのタイトルバーには「応答していません」と表示されます)。以下は、この問題を示す完全なプログラムです。 show_gl_widget
をTrue
に設定すると、起動したアプリがフリーズします。PyCht IDEでQOpenGLWidgetを使用するにはどうすればいいですか?
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QOpenGLWidget, QHBoxLayout, QWidget, QLabel
app = QApplication(sys.argv)
main_window = QMainWindow()
central_widget = QWidget(parent=main_window)
main_window.setCentralWidget(central_widget)
layout = QHBoxLayout()
show_gl_widget = False # Set show_gl_widget to True to see the problem
if show_gl_widget: # Window shows, but hangs with "Not responding" this way
gl_widget = QOpenGLWidget(parent=main_window.centralWidget())
layout.addWidget(gl_widget)
else: # Works OK this way
label = QLabel(parent=main_window.centralWidget(), text='Hey!')
layout.addWidget(label)
main_window.centralWidget().setLayout(layout)
main_window.show()
sys.exit(app.exec_())
64ビットのPython 3.6.2を使用してWindows 10でこの問題が発生しています。私は他の環境を試していません。
EDIT:PyCharm IDEから実行したときにプログラムを実行すると正しく動作しますが、コマンドラインから実行すると正しく動作します。なぜPyCharm IDEから実行するとアプリケーションがフリーズしますか?
私はlinuxでこれをテストして正しく動作していますが、cmdで実行してエラーメッセージが表示されるかどうか、またpyqt5のインストール方法についても説明できます。 – eyllanesc
私の出力:https://imgur.com/a/pGF9B – eyllanesc
@eyllanesc "pip3 install pyqt5"でpyqt5をインストールしました。私はピップが完全なビルドを実行するのではなくバイナリホイールをインストールしたことを覚えていると思います。 –