PyQt5は、DigiaのQt5アプリケーションフレームワークとpythonを組み合わせたもので、2.xと3.xの両方をサポートしています。公式ウェブサイト:www.riverbankcomputing.co.uk/news。
PyQt5は、一連のPythonモジュールで構成されています。 620以上のクラス、6000の関数とメソッド。 Unix、Windows、MacOSなどの主流のオペレーティングシステムで実行できます。 PyQt5には、GPLと商用証明書の2種類の証明書があります。
PyQt5クラスは多くのモジュールに分かれており、主なモジュールは次のとおりです。
テキストの始まり
さて、私は他の人よりもGuiデザインに少し精通しているので、新しい章を開きましょう。最初にGuiデザインに新しい穴を開けます。ここで説明してください。 Pythonに付属のTkinterではなく、PyQt5を使用しています。私はそれをあまりよく知らないので、基本的には知らないと言えます。このコラムでは、主にPyQt5の基本についてお話しますが、それ以上は、誰もが自分で探求していると思いますが、やっぱり難しくて疲れます。さて、コラムの紹介の後、フォーマルについて話しましょう。
まず、PyQt5はサードパーティのライブラリであるため、直接インポートするとエラーが報告されます。ダウンロードする必要があります。Python用のサードパーティライブラリをダウンロードする方法については、基本の列でPythonライブラリについてすでに説明しました。ぜひお読みください。 (もっと簡単なものについて話しましょう...)
コマンドprompt / cmd(Windowsシステム、Linux、Appleシステムは使用していません。ご理解ください。)
pip install PyQt5
非常に簡単です。エラーを報告すると、赤い文字がたくさん表示されます。終了が...タイムアウトの場合は、中断されます。さらに数回試してください。他の自己検索は、結局のところ、多すぎます。 .whlファイルをダウンロードする方が良いと思います。
あまり意味がないので、最近作成するのに退屈している実用的なツールを見てみましょう。インターフェイスは非常にシンプルです。結局、コンパイルしたのは数時間だけです。
import sys,sip
from PyQt5.QtWidgets import QApplication, QWidget,QLabel,QPushButton,QCheckBox, QComboBox,QLineEdit
from PyQt5.QtGui import QFont
from PyQt5.QtCore import Qt
classExchange_of_weather_degree_units(QWidget):
def __init__(self):super().__init__()
self.setting()
def setting(self):
self.unit = None
self.choice =QComboBox(self)
self.choice.addItem('℃')
self.choice.addItem('℉')
self.choice.activated[str].connect(self.choice_)
self.choice.move(50,15)
self.number =QLineEdit(self)
self.number.setPlaceholderText('換算値を入力してください')
self.number.move(15,50)
self.arrowhead =QLabel(self)
self.arrowhead.setText('—————— ')
self.arrowhead.setFont(QFont('microsoft Yahei',20))
self.arrowhead.move(165,20)
self.result =QLabel(self)
self.result.setText(' ')
self.result.setFont(QFont('microsoft Yahei',15))
self.result.move(370,27.5)
self.yes =QPushButton('決定する',self)
self.yes.clicked.connect(self.yes_)
self.yes.move(220,50)
self.setGeometry(300,100,520,100)
self.setWindowTitle('セルシウスからファーレンハイトへの転換')
self.show()
def choice_(self,text):
self.unit = text
def yes_(self):try:if self.unit =='℃':
result_ =eval(self.number.text())*1.8+32
self.result.setText(str(result_)+'℉')if self.unit =='℉':
result_ =round((eval(self.number.text())-32)/1.8,6)
self.result.setText(str(result_)+'℃')else:
result_ =eval(self.number.text())*1.8+32
self.result.setText(str(result_)+'℃')
except:
self.result.setText('番号を入力してください')if __name__ =='__main__':
app =QApplication(sys.argv)
Ex =Exchange_of_weather_degree_units()
sys.exit(app.exec_())
これは、ファーレンハイトとセルシウスの間で変換するための小さなツールであり、私にとって非常に実用的です。理解する必要はありません。過去をコピーして効果を確認するだけです。
実際、これにはあまり知識がないので、恐れないでください。最も基本的なPyQt5フレームワークは次のようなものであるため:
import sys
from PyQt5.QtWidgets import QApplication, QWidget
classExample(QWidget):
def __init__(self):super().__init__()
self.settings()
def settings(self):
self.setGeometry(300,300,450,350)
self.show()if __name__ =='__main__':
app =QApplication(sys.argv)
ex =Example()
sys.exit(app.exec_())
もちろん、これは私が思う最も単純なモデルですが、実際にはこれよりも合理化することができます。しかし、長さはほぼ同じです。ですから、恐れることはありません。
Qt5とは、自分で検索することもできますが、とにかく、これは非常に強力で成熟したライブラリであり、Qt自体は実際にはツールです。必要に応じて、QQを追加できます。
これらを述べたので、フレームワークコードを分析します。
sysライブラリは標準ライブラリです。
sysライブラリの役割:pythonインタープリター情報を表示し、情報をpythonインタープリターに渡します。
sys.argv:コマンドラインパラメータのリストを取得します。最初の要素はプログラム自体です。
sys.exit(n):Pythonプログラムを終了します。exit(0)は正常に終了することを意味します。パラメータが0でない場合、SystemExit例外が発生し、プログラムでキャッチされる可能性があります。
sys.version:Pythonインタープリターのバージョン情報を取得します
sys.maxsize:最大のInt値、64ビットプラットフォームは2 ** 63 – 1
sys.path:初期化中にPYTHONPATH環境変数の値を使用して、モジュールの検索パスを返します
sys.platform:オペレーティングシステムプラットフォームの名前を返します
sys.stdin:入力関連
sys.stdout:出力関連
sys.stderr:エラー関連
sys.exc_info():例外情報のトリプレットを返します
sys.getdefaultencoding():システムの現在のエンコーディングを取得します。デフォルトはutf-8です。
sys.setdefaultencoding():システムのデフォルトエンコーディングを設定します
sys.getfilesystemencoding():ファイルシステムエンコーディングを取得します。デフォルトはutf-8です。
sys.modules#現在のPython環境にインポートされたすべてのモジュールを辞書の形式で返します
sys.builtin_module_names:Pythonインタープリターにコンパイルされたすべてのモジュールの名前を含むリストを返します
sys.copyright:Pythonの現在の著作権情報
sys.flags:コマンドライン識別ステータス情報のリスト。読み取り専用。
sys.getrefcount(object):オブジェクトへの参照の数を返します
sys.getrecursionlimit():Pythonの最大再帰深度を返します。デフォルトは1000です。
sys.getsizeof(object [、default]):オブジェクトのサイズを返します
sys.getswitchinterval():スレッドの切り替え間隔を返します。デフォルトは0.005秒です
sys.setswitchinterval(interval):スレッド切り替えの時間間隔を秒単位で設定します
sys.getwindowsversion():現在のWindowsシステムのバージョン情報を返します
sys.hash_info:Pythonのデフォルトのハッシュメソッドのパラメーターを返します
sys.implementation:CPythonなど、現在実行中のPythonインタープリターの特定の実装
sys.thread_info:現在のスレッド情報
これらのいくつかは私の参照用ですが、主にPyQt5ライブラリ自体のコードをチェックし、結果を英語に翻訳して説明するためのものです。
それからそれは開梱です、これは大丈夫です。
次に、QWidgetを継承してサンプルライブラリを作成します。
PyQt5には多くのモジュールがあり、そのうちQWidgetは、デスクトップアプリケーションを作成するための一連のUI要素を含むモジュールです。
次の初期化コードは問題ありません。
次に、このself.setGeometry(300、300、450、350)があります。これは、画面の左上隅からのウィンドウの距離と幅を設定するためのものです。
これは、データを変更することで理解できます。
次に self.show()
があります。これはインターフェースを表示するためのものです。
最後は実行することです、かどうかの判断は単にこれです:
他のドキュメントがライブラリを呼び出すと、ifのコードは実行されません。
次に、アプリラインの全員が、すべてのPyQt5アプリケーションがアプリケーションオブジェクトを作成する必要があることを意味します。 sys.argvパラメーターは、コマンドラインからのパラメーターのリストです。 Pythonスクリプトはシェルで実行できます。これは、アプリケーションの起動を制御するために使用する方法です。
exはライブラリを呼び出し、次に最初に __init__
のコードを実行し、次に__init__が設定を呼び出すため、 initUI
のプログラムが直接実行されます。最後に終了します。
見栄えを良くするために変更しましょう。
import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QIcon
classExample(QWidget):
def __init__(self):super().__init__()
self.settings()
def setting(self):
self.setWindowTitle(sys.argv[0])
# self.setWindowIcon(QIcon('画像名.ico'))自分で写真を追加する
self.setGeometry(300,300,450,350)
self.show()if __name__ =='__main__':
app =QApplication(sys.argv)
ex =Example()
sys.exit(app.exec_())
2行追加し、 settings
の最初の行が設定タイトルです。 2行目では、自分でico画像を追加します。これにより、よりリッチになります。この方法はリストしません。覚えておいてください。
総括する
PythonPyQt5の紹介に関するこの記事の終わりです。関連するPythonPyQt5の紹介については、ZaLou.Cnで以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後、ZaLou.Cnをさらにサポートしていただければ幸いです。