WindowsでPyQt5 + Python3の環境設定
環境設定系は書いておくと誰かの助けになるはずなので。。。
とりあえずPython3のインストールは終わってるものとします。
Riverbank | Software | PyQt | PyQt5 Download
ここからWindows用のzipファイルを落してきて解凍してワーキングディレクトリにぶち込む。
Riverbank | Software | SIP | SIP Download
また、PyQtを使うにあたって必須であるPythonとC/C++のバインディング用のSIPも落としてきます。
(SIPについて詳しくは Riverbank | Software | SIP | What is SIP?)
解凍してワーキングディレクトリにぶち込んだSIPのディレクトリに飛びます。
以下のコマンドを実行。
>python configure.py >nmake >nmake install
次に、PyQtのディレクトリで同じようにコマンドを実行してやるんだけど、
qmakeのPATHを通さなきゃならない。
>set PATH=%PATH%;C:\Qt\(Qtのバージョン)\(コンパイラ)\bin >python configure.py >nmake >nmake install
これで環境設定は出来るはずです。
まぁこんなことしなくても便利なexe形式のバイナリが公式のsourceforgeにあるけどね…
コンパイルエラーがでる場合は
python configure.py -w
ていうオプションを与えてやれば、何がエラーを起こしてるかわかるはずです。
僕の場合はなぜかnmakeがエラー吐いてうまくいかず、
VisualStudioを再インストールしたり、
コマンドプロンプトをいくつか試してみたり、
バージョンの違うVisualStudioを試してみたり
色々時間がかかってしまった。
動作確認用プログラムでもどうぞ
from PyQt5.QtWidgets import * class MainWindow(QWidget): def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.button = QPushButton("What time is it now?") self.button.clicked.connect(self.getNowTime) mainLayout = QHBoxLayout() mainLayout.addWidget(self.button) self.setLayout(mainLayout) self.setWindowTitle("PyQtTest") def getNowTime(self): import re from datetime import datetime now = str(datetime.now()) dateWord = ["年","月","日","時","分","秒"] msgBox = QMessageBox() msgBox.setText("".join([i + j for i,j in zip(re.split(r"[- :.]",now),dateWord)]) + "です") msgBox.exec() if __name__ == '__main__': import sys app = QApplication(sys.argv) mw = MainWindow() mw.show() sys.exit(app.exec_())