2016-05-03 19 views
1

this answerの指示に従って、Python 3用Mac OS X El CapitanにPyQT4をインストールしました。手順には次のコマンドがあります:Mac OS XのPython 3のPyQt4が動作していないようです。

brew install python3 
brew install qt 
brew install sip --with-python3 
brew install pyqt --with-python3 

私は全く問題なく動作します。 correcly実行していた私は、Python 3を検証

PYTHONPATH=/usr/local/lib/python3.3/site-packages:$PYTHONPATH 

:私はその後、私の.bashrcファイルに次の行を追加しました。私はこの単純なプログラムを実行しようとすると、何も起こりません、今

import PyQT4 

import sys 
from PyQt4 import QtGui 
app = QtGui.QApplication(sys.argv) 
window = QtGui.QWidget() 
window.show() 

それを実行した後、何のウィンドウが開かないと何も起こりません、私も正確にはPython 3内に以下のコードを評価しました。エラーメッセージや警告メッセージは表示されません。何がここで起こっているのアイデア?

答えて

1

これは正しいです。コードを実行すると何も起きることはなく、アプリケーションはエラーなしで直ちに終了する必要があります。 C++に翻訳されたあなたの例も同様に動作します。

おそらく、あなたはイベントループをスピンしたいと思っていましたか? app.exec()これを行います。

+0

これで機能しています。 'app.exec()'はここで何をしますか? – NVaughan

+1

@NVaughan実行中のイベントループがなければ、GUIアプリケーションは一般的に何もしません。 'app.exec()'は、アプリケーションが終了するまでイベントループを実行し、ウィンドウを表示させたり、着信イベントを処理したりします。これは[documented](http://doc.qt.io/qt-5/ qcoreapplication.html#exec)。 –

関連する問題