Comment écrire quoi faire lorsque l'application est affichée pour la première fois dans Qt pour Python avec Designer

J'espère que vous pourrez rédiger un mémorandum et le corriger.

Je pense qu'il est facile de vouloir faire du traitement uniquement lorsque l'application est affichée pour la première fois, mais il semble que vous ne puissiez pas écrire MainWindow.show.connect (quel gâchis).

J'ai cherché comment écrire un traitement de type onLoad effectué par VBA, etc., en laissant autant que possible la description de setupUI générée par Designer, et je l'ai résolu avec eventfilter, veuillez donc noter et corriger.

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

J'ai trouvé que les événements show sont passés à centralwidget, donc j'ai pensé qu'il serait préférable de définir eventfilter sur centralwidget et d'écrire ceci et cela uniquement au premier événement show, mais il est passé par eventfilter. Est la source de l'événement et de l'événement lui-même, et je ne sais pas comment faire fonctionner le hoge et le fuga créés par Designer à partir de cet événement, et je ne le trouve pas. Donc, comme eventfilter est une classe, j'ai pensé qu'il serait préférable d'enregistrer le widget lui-même qui sera utilisé plus tard, séparément de installEventFilter, j'ai donc ajouté une méthode appelée installWidget. Le StartUpFilter terminé est

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

La sous-classification de hoge et fuga peut être la norme. Je voudrais publier un rapport indiquant que cela fonctionne même si je l’écris comme ça, et souligner que ce n’est pas bon.

Recommended Posts

Comment écrire quoi faire lorsque l'application est affichée pour la première fois dans Qt pour Python avec Designer
Que faire lorsque le type de valeur est ambigu en Python?
[Python] Que faire lorsqu'une erreur liée à l'authentification SSL est renvoyée
Que faire lorsqu'un message d'avertissement est affiché dans la liste des pip
[python] Que faire si vous obtenez une erreur avec send_keys dans le chrome sans tête
Que faire si vous obtenez une erreur lors de l'installation de python avec pyenv
Recherche d'un moyen efficace d'écrire un Dockerfile avec Python avec de la poésie
Que faire si l'abandon s'affiche lors de la saisie d'une vidéo de caméra dans OpenCV
Comment faire un calcul de hachage avec Salt en Python
python: Astuces pour afficher un tableau (liste) avec un index (comment savoir quel numéro est un élément d'un tableau)
Que faire si vous obtenez une erreur OpenSSL lors de l'installation de Python 2 avec pyenv
[Python] Que faire quand Aucun module nommé "pyproj.datadir" n'apparaît lors de la création d'Exe avec PyInstaller
Que faire lorsque seule la fenêtre est affichée et que rien ne s'affiche dans le pygame
Que faire si vous obtenez une erreur lors de l'importation de matplotlib en Python (Mac)
Que faire si la barre de progression n'est pas affichée dans tqdm de python
Que faire si vous ne voyez pas IntelliSense de Python dans VS Code sous Windows
[Mémo d'apprentissage] Comment créer une application avec Django ~ Jusqu'à ce que Hello World soit affiché ~
Que faire si vous exécutez python sur IntelliJ et quittez avec une erreur
Procédures à suivre lorsque le japonais n'est pas affiché dans matplotlib
Comment convertir un tableau en dictionnaire avec Python [Application]
[Python] Comment écrire une instruction if en une phrase.
Que faire lorsqu'une erreur se produit avec import _ssl
Que faire lorsque "SSL: CERTIFICATE_VERIFY_FAILED _ssl.c: 1056" apparaît en Python
Que faire s'il n'y a pas de réponse en raison des paramètres de proxy dans le scraping Web Python
[Python] Comment faire PCA avec Python
Que faire avec la sortie de PYTHON?
Comment ne pas échapper au japonais en traitant avec JSON en Python
[Beanstalk] Que faire lorsqu'une erreur se produit avec import uuid
Comment utiliser un éditeur externe pour le développement Python avec Grasshopper
Que faire lorsque ModuleNotFoundError: Aucun module nommé'XXX 'ne se produit en Python
Comment utiliser Python avec Jw_cad (Partie 1 Qu'est-ce que la transformation externe)
[Python] Qu'est-ce qu'une tranche? Une explication facile à comprendre de son utilisation avec un exemple concret
NameError: le nom global'dot_parser 'n'est pas défini et que faire quand il apparaît en python
Comment faire R chartr () en Python
Comment utiliser BigQuery en Python
Comment utiliser is et == en Python
Comment écrire Ruby to_s en Python
Que faire s'il y a un décimal dans python json .dumps
Que faire lorsque le résultat téléchargé via scrapy est en anglais
Que faire si vous ne parvenez pas à envoyer un e-mail à Yahoo avec Python.
Que faire si aucune documentation Python trouvée pour ... apparaît dans pydoc
Que faire si une erreur se produit lors de l'importation de numpy avec VScode
Comment écrire une chaîne de caractères lorsqu'il y a plusieurs lignes en python
Lors de l'émission d'une instruction INSERT en Python, aucune colonne de ce type n'est affichée
Que faire lorsque l'avertissement "L'environnement est cohérent ..." apparaît dans l'environnement Anaconda
[OSX] [pyenv] Que faire lorsqu'une erreur SSL se produit dans pip
[Mac OS] Que faire lorsque Python n'est pas installé en tant que framework S'affiche lors de l'importation de matplot lib.
[Python] Que faire en cas de violation de PEP8 lors du processus d'importation à partir du répertoire ajouté à sys.path
Que faire si PyInstaller3.5 provoque une erreur dans Python3.8 (TypeError: un entier est requis (obtenu les octets de type))
Qu'est-ce qu'un algorithme? Introduction à l'algorithme de recherche] ~ Python ~
[REAPER] Comment jouer à Reascript avec Python
Comment faire un traitement parallèle multicœur avec python
Conseils pour ceux qui ne savent pas comment utiliser is et == en Python
Vous devenez ingénieur en 100 jours - Jour 35 - Python - Ce que vous pouvez faire avec Python
Comment recadrer une image avec Python + OpenCV
Que faire lorsqu'un avertissement apparaît autour de l'intégration de Python dans CheckHealth de Neovim
Comment utiliser tkinter avec python dans pyenv
Que faire lorsque [Errno 2] Aucun fichier ou répertoire de ce type n'apparaît en Python