So schreiben Sie, was zu tun ist, wenn die Anwendung zum ersten Mal in Qt for Python mit Designer angezeigt wird

Ich hoffe, Sie können ein Memorandum erstellen und es korrigieren.

Ich denke, es ist einfach, eine Verarbeitung nur dann durchführen zu wollen, wenn die Anwendung zum ersten Mal angezeigt wird, aber es scheint, dass Sie MainWindow.show.connect nicht schreiben können (was für ein Durcheinander).

Ich habe nach Möglichkeiten gesucht, wie eine von VBA usw. durchgeführte onLoad-ähnliche Verarbeitung geschrieben werden kann, wobei die von Designer generierte Beschreibung der setupUI so weit wie möglich belassen und mit eventfilter gelöst wurde. Machen Sie sich also eine Notiz und korrigieren Sie sie.

self.startUpFilter = StartUpFilter()
self.centralwidget.installEventFilter(self.startUpFilter)
self.startUpFilter.installWidget(self.hoge,self.fuga)

Ich habe festgestellt, dass Show-Ereignisse an Centralwidget übergeben werden. Daher dachte ich, dass es besser ist, Eventfilter auf Centralwidget zu setzen und dies und das nur beim ersten Show-Ereignis zu schreiben, aber es wird von Eventfilter übergeben. Ist nur die Quelle des Ereignisses und des Ereignisses selbst, und ich weiß nicht, wie ich den von Designer aus diesem Ereignis erstellten Hoge und Fuga bedienen soll, und ich kann ihn nicht finden. Da eventfilter eine Klasse ist, dachte ich, dass es besser ist, das Widget selbst, das später verwendet wird, getrennt von installEventFilter zu registrieren. Deshalb habe ich eine Methode namens installWidget hinzugefügt. Der fertige StartUpFilter ist

class StartUpFilter(QtCore.QObject):
    startupState = False

    def installWidget(self,hoge,fuga):
        self.hoge = hoge
        self.fuga = fuga

    def eventFilter(self, widget, event):
        if event.type() == QtCore.QEvent.Type.Show:
            if not self.startupState:
                self.hoge.hogeMethod(self.fuga)
            self.startupState = True

        return False

Unterklasse Hoge und Fuga kann der Standard sein. Ich möchte einen Bericht veröffentlichen, der funktioniert, auch wenn ich ihn so schreibe, und darauf hinweisen, dass dies nicht gut ist.

Recommended Posts

So schreiben Sie, was zu tun ist, wenn die Anwendung zum ersten Mal in Qt for Python mit Designer angezeigt wird
Was tun, wenn der Werttyp in Python nicht eindeutig ist?
[Python] Was tun, wenn ein Fehler im Zusammenhang mit der SSL-Authentifizierung zurückgegeben wird?
Was tun, wenn eine Warnmeldung in der Pip-Liste angezeigt wird?
[Python] Was tun, wenn bei send_keys in Headless Chrome ein Fehler auftritt?
Was tun, wenn bei der Installation von Python mit pyenv eine Fehlermeldung angezeigt wird?
Auf der Suche nach einer effizienten Möglichkeit, eine Docker-Datei mit Python mit Gedichten zu schreiben
Was tun, wenn bei der Eingabe eines Kameravideos in OpenCV ein Abbruch angezeigt wird?
So führen Sie eine Hash-Berechnung mit Salt in Python durch
Python: Tipps zum Anzeigen eines Arrays (einer Liste) mit einem Index (wie man herausfindet, welche Nummer ein Element eines Arrays ist)
Was tun, wenn bei der Installation von Python 2 mit pyenv ein OpenSSL-Fehler auftritt?
[Python] Was tun, wenn beim Erstellen von Exe mit PyInstaller kein Modul mit dem Namen "pyproj.datadir" angezeigt wird?
Was tun, wenn nur das Fenster angezeigt wird und im Pygame nichts angezeigt wird?
Was tun, wenn beim Importieren von matplotlib in Python (Mac) eine Fehlermeldung angezeigt wird?
Was tun, wenn der Fortschrittsbalken in tqdm von Python nicht angezeigt wird?
Was tun, wenn Pythons IntelliSense in VS Code unter Windows nicht angezeigt wird?
[Lernnotiz] So erstellen Sie eine App mit Django ~ Bis Hello World angezeigt wird ~
Was tun, wenn Sie Python auf IntelliJ ausführen und mit einem Fehler beenden?
Verfahren, die durchgeführt werden müssen, wenn Japanisch nicht in matplotlib angezeigt wird
So konvertieren Sie mit Python [Anwendung] von einem Array in ein Wörterbuch
[Python] Wie schreibe ich eine if-Anweisung in einen Satz?
Was tun, wenn beim Importieren von _ssl ein Fehler auftritt?
Was tun, wenn in Python "SSL: CERTIFICATE_VERIFY_FAILED _ssl.c: 1056" angezeigt wird?
Was tun, wenn aufgrund der Proxy-Einstellungen in Python Web Scraping keine Antwort erfolgt?
[Python] Wie man PCA mit Python macht
Was tun mit PYTHON Release?
Wie man Japanern nicht entgeht, wenn man mit json in Python umgeht
[Beanstalk] Was tun, wenn beim Importieren der UUID ein Fehler auftritt?
Verwendung eines externen Editors für die Python-Entwicklung mit Grasshopper
Was tun, wenn ModuleNotFoundError: In Python tritt kein Modul mit dem Namen 'XXX' auf
Verwendung von Python mit Jw_cad (Teil 1 Was ist externe Transformation)
[Python] Was ist ein Slice? Eine leicht verständliche Erklärung zur Verwendung anhand eines konkreten Beispiels
NameError: Der globale Name'dot_parser 'ist nicht definiert und was ist zu tun, wenn er in Python angezeigt wird?
So machen Sie R chartr () in Python
So arbeiten Sie mit BigQuery in Python
Verwendung ist und == in Python
Wie schreibe ich Ruby to_s in Python
Was tun, wenn in python json .dumps eine Dezimalstelle enthalten ist?
Was tun, wenn das über Scrapy heruntergeladene Ergebnis auf Englisch ist?
Was tun, wenn Sie mit Python keine E-Mail an Yahoo senden konnten?
Was tun, wenn in pydoc keine Python-Dokumentation für ... gefunden wird?
Was tun, wenn beim Importieren von numpy mit VScode ein Fehler auftritt?
So schreiben Sie eine Zeichenfolge, wenn Python mehrere Zeilen enthält
Bei der Ausgabe einer INSERT-Anweisung in Python wird keine solche Spalte angezeigt
Was tun, wenn in der Anaconda-Umgebung die Warnung "Die Umgebung ist konsistent ..." angezeigt wird
[OSX] [pyenv] Was tun, wenn in pip ein SSL-Fehler auftritt?
[Mac OS] Was tun, wenn Python nicht als Framework installiert ist? Wird angezeigt, wenn der Import von matplot lib ausgeführt wird.
[Python] Was tun, wenn beim Importieren aus dem zu sys.path hinzugefügten Verzeichnis gegen PEP8 verstoßen wird?
Was tun, wenn PyInstaller3.5 einen Fehler in Python3.8 verursacht (TypeError: Eine Ganzzahl ist erforderlich (Typbytes erhalten))
Was ist ein Algorithmus? Einführung in den Suchalgorithmus] ~ Python ~
[REAPER] Wie man Reascript mit Python spielt
So führen Sie eine Mehrkern-Parallelverarbeitung mit Python durch
Tipps für diejenigen, die verwirrt sind, wie man is und == in Python verwendet
Sie werden in 100 Tagen Ingenieur - Tag 35 - Python - Was Sie mit Python tun können
So beschneiden Sie ein Bild mit Python + OpenCV
Was tun, wenn eine Warnung zur Python-Integration in Neovims CheckHealth angezeigt wird?
Wie man tkinter mit Python in Pyenv benutzt
Was tun, wenn [Errno 2] in Python keine solche Datei oder kein solches Verzeichnis angezeigt wird?