Seite 2 von 2

Re: PyQt Tutorialübersicht

Verfasst: Mittwoch 15. April 2020, 10:11
von __deets__
Das war nicht der einzige Fehler. Das __del__ muss weg, wirklich. Das ist ein Feature von Python, das niemand, der ein Tutorial schreibt, in dem das benutzt wird, wirklich versteht. Und ich habe in > 20 jahren Python weniger als ein halbes dutzend mal davon Gebrauch gemacht.

Re: PyQt Tutorialübersicht

Verfasst: Mittwoch 15. April 2020, 10:56
von Krie9er
Ja wird entfernt, ich habe dieses Tutorial genutzt, kombiniert mit der Doku von QThread

Jetzt läuft alles auch so wie es soll, ersteinmal bis zur nächsten Herausforderung :-) ich bin dir sehr Dankbar @__deets__

Re: PyQt Tutorialübersicht

Verfasst: Mittwoch 15. April 2020, 11:27
von __deets__
Joa. Klassiker. Ist eben falsch. Leider kann man nicht korrigieren, was so ins Internet gekuebelt wird...

Re: PyQt Tutorialübersicht

Verfasst: Montag 20. April 2020, 09:22
von Krie9er
Das hat alles sehr geholfen, nun bin ich an dem Punkt, an dem ich, erstmal zum Testen eine allein lauffähige exe erstellen möchte.

Ich habe hierfür pyinstaller und auto-py-to-exe probiert. Jedoch ohne erfolg.

Das Programm wird zwar erstellt, jedoch beendet es sich direkt. In der konsole wird garnichts ausgegeben. Wie kann ich herausfinden wieso es nicht läuft?

Meine Spec Datei sieht doch sehr komisch aus:

Code: Alles auswählen

# -*- mode: python ; coding: utf-8 -*-

block_cipher = None


a = Analysis(['LeanPlayground.py'],
             pathex=['.....\\PycharmProjects\\LeanPlayground'],
             binaries=[],
             datas=[],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          [],
          exclude_binaries=True,
          name='LeanPlayground',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          console=True )
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=False,
               upx=True,
               upx_exclude=[],
               name='LeanPlayground')
meines Erachtens fehlt hier komplett das Paket.

Ich dachte es liegt daran, das ich keine main hatte, aus diesem Grund habe ich sie nachimplementiert, eventuell liegt hier das Problem:

Code: Alles auswählen

from PyQt5 import QtWidgets, uic, QtGui
from LeanPlayground import EffectOnVariationExample, Routing
from PyQt5.QtGui import QIcon, QPixmap

class  StartProgram(QtWidgets.QMainWindow):
    def __init__(self, parent=None):

        self.rootDir = os.path.dirname(__file__)
        print(os.path.join(self.rootDir, 'LeanPlayground/gui/navigatorwindow.ui'))
        super().__init__(parent)
        self.ui = uic.loadUi('LeanPlayground/gui/navigatorwindow.ui', self)
        self.ui.licenseOwnerLogo.setPixmap(QPixmap('LeanPlayground/assets/apple-icon-120x120.png'))
        self.show()
        self.routing()

    def routing(self):
        self.ui.btnEffectOfVariationExample.clicked.connect(self.playEffectOfVariationExample)

    def playEffectOfVariationExample(self):
        widget = EffectOnVariationExample.PlayEOVE(self)
        print("Test")
        self.hide()


def main():
    app = QtWidgets.QApplication(sys.argv)
    app.setWindowIcon(QtGui.QIcon('LeanPlayground/assets/favicon_2.ico'))
    lp = StartProgram()

    sys.exit(app.exec_())

if __name__ == "__main__":
    main()
aktuell bin ich wirklich etwas ratlos, :cry: