先日製作したUSBシリアル通信を用いた温度測定に関してC#のGUIプログラムではなくPyQtを用いたGUIプログラムを作成しようと思います。まずはPyQt5のインストールを行います。
PyQt5 インストール
PyQt5はPythonを使ったGUIプログラムを作成する際に使うライブラリの事であり、これを用いる事でPythonでGUIプログラムを作成する事が出来ます。
まずはPyQt5のインストールを行います。ここではPython3及びAnacondaが入っているものと想定して記載致します。
PyQt5のインストール方法はこのリンク先を参考にさせて頂きました。
インストールは下記の流れの通りになります。
- Python バージョンの確認
- pipコマンドのアップグレード
- pipでPyQt5のインストール
- PyQt5の動作確認
Python バージョンの確認
まずAnacondaを開いて下図のLaunchを押してCmd画面を開きます。
Cmd画面を開いたら、下記のコマンドを打ち込み、現在インストールしているPythonのバージョンを確認致します。PyQt5は最新バージョンが5.15.2であり、使用する為にはPython3.5以上が必要な為、バージョンを確認致します。(現在2022/01/09現在)
コマンド python -V
上記コマンドを打つと、Pythonのバージョンを確認する事が出来ます。今回はVer3.9.7であり、3.5以上であるのでこちらで大丈夫です。
pipコマンドのアップグレード
次に下記のコマンドを打ち込んでpipをアップグレードします。
コマンド python -m pip install — upgrade pip
すると下記のような画面になります。
ひとまずこれでアップグレードが出来ました。
この後pipを使ってPyQt5をインストールするのですが、上に書いたリンク先にも書いてある通りAnacondaでSpyderを使っている人がいましたら注意して下さい。
私のほうもSpyderが使えなくなりました。上記を念頭に入れた状態で次に進んでください。
更新がすんだら、次のコマンドを打ち込み、PyQt5をインストールします。
コマンド pip install PyQt5
インストールを行うと Successfully installedと表示が出てインストールが完了致します。
ここでPyQt5がちゃんとインストールされたか確認してみます。
ひとまずサンプルとして下記のプログラムを書きます。
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QPushButton, QAction, QLineEdit, QMessageBox
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import pyqtSlot
class App(QMainWindow):
def __init__(self):
super().__init__()
self.title = "温度測定モニター"
self.left = 0
self.top = 30
self.width = 400
self.height = 400
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
# Create textbox
self.textbox = QLineEdit(self)
self.textbox.move(0, 40)
self.textbox.resize(280,40)
# Create a button in the window
self.button = QPushButton("Open", self)
self.button.move(0,0)
# Create a button in the window
self.button = QPushButton("Start", self)
self.button.move(100,0)
# connect button to function on_click
self.button.clicked.connect(self.on_click)
self.show()
@pyqtSlot()
def on_click(self):
textboxValue = self.textbox.text()
QMessageBox.question(self, "Message - pythonspot.com", "You typed: " + textboxValue, QMessageBox.Ok, QMessageBox.Ok)
self.textbox.setText("")
if __name__ == "__main__":
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
こちらをコマンドプロンプト上で
python sample.pyで起動すると下記の通りになります。
GUIの画面が表示されましたのでPyQtがちゃんとインストールされている事が分かりました。
このプログラムは後ほどシリアル通信が出来るように調整して行きたいと思います。
コメント