[PYTHON] Einführung in PyQt

Qt 5.14 Release!! Es tut mir leid für die Geschichte, die plötzlich nichts mehr mit dem Thema zu tun hat. Jeder, Qt 5.14 wurde veröffentlicht! !! スクリーンショット 2019-12-14 22.02.19.png Als ich zum ersten Mal seit langer Zeit versuchte, Qt zu installieren, bemerkte ich (tatsächlich bemerkte ich, als ich mit Einsiedler zusammen war ...). Ich dachte darüber nach, 5.14 sofort zu installieren, aber dieses Mal bestand der Zweck nicht darin, neue Funktionen zu verwenden, sondern angesichts der Kompatibilität mit Bindungswerkzeugen usw. dachte ich, dass das neueste LTS 5.12.6 sicher ist. Wenn ich Zeit habe, werde ich auch 5.14 ausprobieren.

Einführung

Dies ist mein 7. Beitrag, HW-Entwickler ynuma. Ich werde kurz über die aktuelle Situation schreiben.

Es ist früh und meine Tochter ist fast 3 Jahre alt. Neulich habe ich ein Foto von 753 gemacht. Urlaub ist ein tochterorientiertes Leben.

Es gibt keine großen Änderungen in der Arbeitssituation, aber ich verwende Python für Auswertungen, die maschinelles Lernen beinhalten. Ich benutze Qt selten, aber ich bin motiviert, Anwendungen als Hobby zu erstellen, deshalb möchte ich weiter lernen.

Über dieses Thema

Dies ist das Hauptthema, aber dieses Mal geht es um PyQt. Wissen Sie alle?

Ursprünglich hatte ich vor, mich auf arbeitsbezogenes maschinelles Lernen zu konzentrieren, aber diesmal konnte ich es leider nicht tun, da ich herausfand, dass Qt selbst keine Funktion zur Unterstützung des maschinellen Lernens hat (wenn ich einen Fehler gemacht habe, konnte ich es nicht tun. Bitte unterrichten). Wenn Sie maschinelles Lernen betreiben, geht der Trend meiner Meinung nach zur Verwendung von Python. Da Python eine relativ lange Geschichte hat, denke ich, dass es reichlich Bibliotheken wie Grafiken gibt, aber ich dachte, dass es praktisch wäre, wenn ich die Funktionen von Qt verwenden könnte, für die ich einige Kenntnisse von Python habe.

Nachschlagewerk

Von Kazuo Asano "Machen wir eine GUI mit Python" Ich werde mich zu einem erheblichen Teil darauf beziehen. 12/12 Artikel gepostet von spiralgear Einführung von Qt-bezogenen Büchern, die innerhalb des persönlichen Beobachtungsbereichs ergänzt werden könnten Aber es wird eingeführt. Es gibt viele Diagramme und Erklärungen, und selbst Anfänger können es leicht verstehen, deshalb empfehle ich es! !! Ich finde es auch attraktiv, viele Beispiele für QtQuick zu haben.

Empfohlen für solche Leute

Da es sich um eine Einführungsausgabe handelt, wende ich mich zunächst an diejenigen, die Qt bis zu einem gewissen Grad kennen, PyQt jedoch noch nie verwendet haben. Wenn Sie Python verwenden und die umfangreichen Funktionen von Qt nutzen möchten, ist dies hilfreich.

Was ist PyQt?

Die Python-Bindung von Qt wurde von Riverbank Computing in Großbritannien entwickelt. Binden heißt binden. Kurz gesagt, es bedeutet etwas, das Python und Qt verbindet. Ich denke, es soll Ihnen ermöglichen, Qt von Python aus aufzurufen.

History Ich wusste nicht genau, wann es entwickelt wurde, aber es scheint um 2007 herum existiert zu haben. PySide, das von Nokia (jetzt The Qt Company) entwickelt wurde, soll vom gleichen Typ sein, scheint jedoch als Alternative entwickelt worden zu sein, da keine Lizenzvereinbarung mit Riverbank Computing von PyQt geschlossen wurde.

Lizenz

PyQt ist GPL. Als Referenz ist PySide LGPL. Wenn Sie Unternehmensgewinne priorisieren, möchten Sie möglicherweise PySide verwenden, PyQt scheint jedoch bequemer zu sein. Welches als Unternehmen zu übernehmen ist, ist ein schwieriger Ort.

Install Im Folgenden finden Sie eine kurze Zusammenfassung der Schritte, mit denen PyQt funktioniert.

  1. Anaconda Install (Distribution für Python-Sprache)
  2. Qt Install
  3. Erstellen Sie eine virtuelle Umgebung für PyQt aus Anaconda
  4. Installieren Sie PyQt in der erstellten virtuellen Umgebung

Anaconda Install (Distribution für Python-Sprache)

スクリーンショット 2019-12-14 18.35.05.png Anaconda scheint die folgenden Funktionen bereitzustellen. ・ Es können mehrere virtuelle Python-Umgebungen erstellt werden ・ Mehrere Python-Versionen können ordnungsgemäß verwendet werden ・ Es ist möglich, den Python-Interpreter für jede Umgebung richtig zu verwenden. ・ Das Paketverwaltungssystem conda kann verwendet werden

Im Web gibt es viele Informationen zu den Verfahrensdetails, daher werde ich sie weglassen.

Qt Install Wie Sie alle wissen, ist es einfach, den Qt-Online-Installer von der folgenden Website herunterzuladen und auszuführen. https://www.qt.io/download-open-source

Erstellen einer virtuellen Umgebung für PyQt aus Anaconda

  1. Starten Sie den Anaconda Navigator. スクリーンショット 2019-12-14 18.35.40.png
  2. Führen Sie Umgebung → Erstellen aus, um eine virtuelle Umgebung für PyQt zu erstellen. Den Namen und die Pakete finden Sie im Folgenden. スクリーンショット 2019-12-14 18.36.37.png

Installieren Sie PyQt in der erstellten virtuellen Umgebung

  1. Klicken Sie in Anaconda Navigator auf die Dreieck-Schaltfläche neben dem Namen der Kostümumgebung und wählen Sie Terminal öffnen. スクリーンショット 2019-12-14 23.18.57.png
  2. Installieren Sie PyQt5 vom Terminal. Ich denke, das folgende Beispiel wird hilfreich sein.
Last login: Fri Dec 13 03:13:56 on ttys000
(base) numac:~ ynumajir$ /Users/ynumajir/.anaconda/navigator/a.tool ; exit;
(Python3_7) bash-3.2$ pip install PyQt5
Collecting PyQt5
  Downloading https://files.pythonhosted.org/packages/93/5b/2ba062584e8b407b443b7ac7b6687e157d22b0f875cfd1dbe5baf82f6177/PyQt5-5.13.2-5.13.2-cp35.cp36.cp37.cp38-abi3-macosx_10_6_intel.whl (39.8MB)
     |████████████████████████████████| 39.8MB 23.1MB/s 
Collecting PyQt5_sip<13,>=4.19.19
  Downloading https://files.pythonhosted.org/packages/ca/77/ac0e8908be37523f0d93b8002641d11cfbc231c3e9dbaa4835f8073b397d/PyQt5_sip-12.7.0-cp37-cp37m-macosx_10_9_x86_64.whl (62kB)
     |████████████████████████████████| 71kB 8.5MB/s 
Installing collected packages: PyQt5-sip, PyQt5
Successfully installed PyQt5-5.13.2 PyQt5-sip-12.7.0
(Python3_7) bash-3.2$ pip list
Package    Version            
---------- -------------------
certifi    2019.11.28         
pip        19.3.1             
PyQt5      5.13.2             
PyQt5-sip  12.7.0             
setuptools 42.0.2.post20191201
wheel      0.33.6             
(Python3_7) bash-3.2$ 

Führen Sie das Beispielprogramm aus

Unten finden Sie den Python-Code, der ein einfaches MainWindow anzeigt.

QMainWindow.py



# - * - coding: utf8 - * -
  
import sys

from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel

class MainWindow(QMainWindow):

    def __init__(self):
        super().__init__()
        self.title = 'PyQt test(QMainWindow)'
        self.width = 400
        self.height = 200
        self.setWindowTitle(self.title)
        self.setGeometry(0, 0, self.width, self.height)
        label = QLabel('This is PyQt test.', self)
        self.show()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MainWindow()
    sys.exit(app.exec_())

Unten sind die Ausführungsergebnisse. $ python QMainWindow.py スクリーンショット 2019-12-15 0.37.27.png Jetzt können Sie die Qt-Bibliothek von Python verwenden.

Am Ende

Dieses Mal habe ich die Schritte bis zu dem Punkt zusammengefasst, an dem Sie Qt mit PyQt einfach aufrufen können. Da die Anaconda- und Python-Umgebung ursprünglich auf dem verwendeten PC eingerichtet wurde, war der Start relativ einfach. Infolgedessen ist es meiner Meinung nach möglich geworden, die Ergebnisse des maschinellen Lernens auf der Qt-GUI anzuzeigen. Beim nächsten Mal möchte ich herausfinden, ob PyQt so einfach wie möglich ein 3D-Diagramm erstellen kann.

Recommended Posts

Einführung in PyQt
Einführung in PyQt4 Teil 1
Einführung in MQTT (Einführung)
Einführung in Scrapy (1)
Einführung in Scrapy (3)
Erste Schritte mit Supervisor
Einführung in Scrapy (2)
[Linux] Einführung in Linux
Einführung in Scrapy (4)
Einführung in discord.py (2)
Einführung in Lightning Pytorch
Erste Schritte mit Web Scraping
Einführung in EV3 / MicroPython
Einführung in die Python-Sprache
Einführung in die TensorFlow-Bilderkennung
Einführung in OpenCV (Python) - (2)
Einführung in die Abhängigkeitsinjektion
Einführung in Private Chainer
Einführung in das maschinelle Lernen
AOJ Einführung in die Programmierung Thema Nr. 1, Thema Nr. 2, Thema Nr. 3, Thema Nr. 4
Einführung in das elektronische Papiermodul
Einführung in den Wörterbuch-Suchalgorithmus
Einführung in die Monte-Carlo-Methode
[Lernmemorandum] Einführung in vim
Einführung in PyTorch (1) Automatische Differenzierung
opencv-python Einführung in die Bildverarbeitung
Einführung in Python Django (2) Win
Einführung in das Schreiben von Cython [Notizen]
Einführung in Private TensorFlow
Eine Einführung in das maschinelle Lernen
[Einführung in cx_Oracle] Übersicht über cx_Oracle
Eine super Einführung in Linux
Einführung
AOJ Einführung in die Programmierung Thema Nr. 7, Thema Nr. 8
Einführung in die Anomalieerkennung 1 Grundlagen
Einführung in RDB mit sqlalchemy Ⅰ
[Einführung in Systre] Fibonacci Retracement ♬
Einführung in die nichtlineare Optimierung (I)
Einführung in die serielle Kommunikation [Python]
AOJ Einführung in die Programmierung Thema Nr. 5, Thema Nr. 6
Einführung in Deep Learning ~ Lernregeln ~
[Einführung in Python] <Liste> [Bearbeiten: 22.02.2020]
Einführung in Python (Python-Version APG4b)
Eine Einführung in die Python-Programmierung
[Einführung in cx_Oracle] (8.) Version cx_Oracle 8.0
Einführung in discord.py (3) Verwenden von Stimme
Einführung in die Bayes'sche Optimierung
Tiefe Stärkung des Lernens 1 Einführung in die Stärkung des Lernens
Super Einführung in das maschinelle Lernen
Einführung in Ansible Teil In'Inventory '
Serie: Einführung in den Inhalt von cx_Oracle
[Einführung] Verwendung von open3d
Einführung in Python For, While
Einführung in Deep Learning ~ Backpropagation ~
Einführung in Ansible Teil ④'Variable '
Einführung in den Befehl vi (Hinweis)