Python QT App Standalone-App-Konvertierungsnotiz

Ich musste die Python-App in eine eigenständige App verwandeln, also habe ich viel recherchiert. Es gab verschiedene Konvertierungswerkzeuge, aber am Ende entschied ich mich für Pyinstaller. Übrigens macht es die Verwendung von qtcreator wirklich einfach, eine GUI zu erstellen. (Es kostet Geld nach der freien Zeit.)

OUTLINE --Umgebung --Erstellen Sie eine Umgebung mit pyenv


Umgebung

MacOSX El Capitan 10.11.5   
python3.5.0 (homebrew pyenv-virtualenv)   
qt5,pyqt5 (homebrew)    

Ich habe das Gefühl, dass es viele Leute gibt, die die Python-Version mit pyenv in der Mac-Umgebung verwalten, und es gibt viele Leute, die pyenv und qt in Homebrew einfügen, aber selbst wenn ich nach einer Reihe von Informationen suche, ist es schwierig, herauszukommen. Es gab keine.

Erstellen Sie eine Umgebung mit pyenv

Wenn Sie versuchen, pyinstaller mit python3.5.0 zu verwenden, geben Sie pyenv ein, ohne an irgendetwas zu denken Ich habe keine libpython3.4.dylib! Error. Es scheint, dass Python als Framework enthalten sein muss. Ich musste beim Kompilieren und Installieren von Python vorsichtig sein.

env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install -v 3.5.0
~Ich werde verschiedene Dinge tun.~
pyenv virtualenv 3.5.0 stand_app

Und das auch.

pip install --upgrade pip

PyQt5 Vorerst installieren

brew install pyqt5 --with-python

Es scheint, dass pyqt nicht mit pip installiert werden kann, daher kann mit qq installiertes pyqt5 verwendet werden, indem es symbolisch mit der pyenv-Umgebung verknüpft wird.

ln -s /usr/local/Cellar/pyqt5/5.6/lib/python3.5/site-packages/PyQt5/ /usr/local/opt/pyenv/versions/stand_app/lib/python3.5/site-packages/

Sie können es vorerst verwenden. Es ist ein bisschen hart. ..

pyinstaller pyinstaller kann von pip installiert werden.

pip install pyinstaller

Erstellen Sie eine qt-Anwendung

Schreiben Sie vorerst eine einfache qt-App.

Speichern Sie Folgendes als qt.py.


import sys
from PyQt5.QtWidgets import (QWidget, QToolTip,
    QPushButton, QApplication)
from PyQt5.QtGui import QFont
from PyQt5.QtCore import QCoreApplication


class Example(QWidget):
  def __init__(self):
      super().__init__()

      self.initUI()


  def initUI(self):

      QToolTip.setFont(QFont('SansSerif', 10)) #font-Festlegen der Familie und der Schriftgröße
      self.setToolTip('This is a <b>QWidget</b> widget')#Setzen Sie den Werkzeugchip mit der Maus ein.

      btn = QPushButton('Button', self) #Tastengenerierung
      btn.setToolTip('This is a <b>QPushButton</b> widget') #Setzen Sie den Werkzeugchip mit der Maus ein.
      btn.clicked.connect(QCoreApplication.instance().quit) #Drücken Sie die Taste, um den Bildschirm zu schließen
      btn.resize(btn.sizeHint()) #Es gibt eine schöne Tastengröße und einen Tasteneffekt an.
      btn.move(50, 50)#Einstellung der Tastenposition

      self.setGeometry(300, 300, 300, 200)
      self.setWindowTitle('Tooltips')
      self.show()

if __name__ == '__main__':

    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

Standalone-App-Generierung

Und schließlich ist dies der, auf den ich gewartet habe. Über die Befehlszeile

pyinstaller --onefile --windowed qt.py

Dorya. ./dist/ qt.app Kann gemacht werden! !! !! !!

Ich habs gemacht! !!

Recommended Posts

Python QT App Standalone-App-Konvertierungsnotiz
Qt für Python App Selbstaktualisierung
Python-Memo
Python-Memo
Python-Memo
Python-Memo
Python-Memo
Python-Memo
Python UTC ⇔ JST, Zeichenkette (UTC) ⇒ JST-Konvertierungsnotiz
Qt für Python App Desktop App
Python-Anfänger-Memo (9.2-10)
Python-Anfänger-Memo (9.1)
★ Memo ★ Python Iroha
[Python] EDA-Memo
Python 3-Operator-Memo
[Mein Memo] Python
Python3-Metaklassen-Memo
[Python] Grundkarten-Memo
Python-Anfänger-Memo (2)
[Python] Numpy Memo
[Python] Konvertierungsnotiz zwischen Zeitdaten und numerischen Daten
Python-Klasse (Python-Lernnotiz ⑦)
Python OpenCV Installation (Memo)
Python-Modul (Python-Lernnotiz ④)
Python-Testpaket-Memo
[Python] Memo über Funktionen
Python-Memo für reguläre Ausdrücke
Memo zur Bisektionssuche (python2.7)
[Mein Memo] Python -v / Python -V
Python3-Memo vom Typ Liste / Wörterbuch
[Memo] Python 3-Listensortierung
Python-Tipps (mein Memo)
[Python] Memo Über Fehler
DynamoDB Script Memo (Python)
Python-Grundnotiz - Teil 2
Python-Rezeptbuch Memo
Python Unix-Time <-> Datetime-Konvertierung
Grundlegende Python-Befehlsnotizen
Python OpenCV Tutorial Memo
Python grundlegende Grammatik Memo
TensorFlow API-Memo (Python)
Python nützliche Memo-Links
Python-Dekorator-Operationsnotiz
Python-Grundnotiz - Teil 1
Effektives Python-Memo Punkt 3
Ungefähre Aufzählung Python-Memo
Python-Memo (für mich): Array
Behandlung von Python-Ausnahmen (Python-Lernnotiz ⑥)
Memo zur Messung der Python-Ausführungszeit
Twitter-Grafiknotiz mit Python
[Line / Python] Beacon-Implementierungsnotiz
Python und Ruby Slice Memo
Python-Grammatik-Grundnotiz (1)
Persönliches Python-Code-Memo
Raspeye + Python + OpenGL-Memo
Python-Grundgrammatik (Verschiedenes) Memo (3)
Unveränderlicher Python-Typ int memo
Python-Memo mit Perl --join