[PYTHON] Création de l'interface graphique avec Pyside Partie 2 <Utilisation de la classe>

introduction

Ceci est un mémorandum sur la façon de créer un QtWidget en utilisant une classe.

Cliquez ici pour l'article précédemment résumé sur la classe https://qiita.com/kashiba/items/339b81f63612ffdba573

Que faire cette fois

Dessin d'achèvement

C'est une simple fenêtre avec un seul bouton. image.png

Chaque fois que vous cliquez sur le bouton, "Hello world" est imprimé.

Hello world
Hello world
Hello world
Hello world

code

#!/usr/bin/python3
# -*- coding: utf-8 -*-



import sys
from PySide2.QtWidgets import *


class window_A(QWidget):
    def __init__(self, parent=None):
        super(window, self).__init__(parent)
        self.w = QWidget()
        self.layout = QVBoxLayout()
        #Créer et placer un bouton
        self.button = QPushButton("Button")
        self.layout.addWidget(self.button)
        #Lien bouton clic avec fonction bonjour
        self.button.clicked.connect(self.hello)
        self.w.setLayout(self.layout)
        self.w.show()

    #Appelé par clic de bouton
    def hello(self):
        print("Hello world")


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

Commentaire

class window_A(QWidget):
    def __init__(self, parent=None):
        super(window, self).__init__(parent)

Créez une classe window_A qui hérite de QWidget et hérite de l'init de la super classe (QWidget). Si vous recherchez cette zone avec "Héritage de classe", vous trouverez de nombreuses informations.

        self.w = QWidget()
        QVBoxLayout

Créez QWidget, qui est la base de la fenêtre, et QVBoxLayout, qui est le cadre pour la disposition des boutons. V de QVBoxLayout indique une disposition verticale et verticale, et H de QHBoxLayout indique une disposition horizontale et horizontale.

■ Exemple de création de QVBoxLayout image.png

■ Exemple de création de QVHoxLayout image.png

        self.button = QPushButton("Button")
        self.layout.addWidget(self.button)

J'ai créé un objet QPushButton et attaché l'étiquette Button au bouton. Avec la commande ʻaddWidget, le bouton est disposé à self.layout=QVBoxLayout`.

        self.button.clicked.connect(self.hello)

Je connecte la fonction «self.hello» à «self.button». En utilisant .clicked.connect, vous pouvez connecter la fonction spécifiée à l'événement lorsque le bouton est cliqué. Notez que nous spécifions «self.hello» au lieu de «self.hello ()». ** () n'est pas requis. ** **

        self.w.setLayout(self.layout)
        self.w.show()

Mettez self.layout = QVBoxLayout au-dessus de self.w = QWidget dans .setLayout. ■ Diagramme d'image image.png

    def hello(self):
        print("Hello world")

C'est une fonction qui imprime uniquement Hello world.

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

C'est le processus au démarrage du fichier python. Après avoir créé la QApplication, générez la classe window. En même temps que la classe window est générée, init générera la fenêtre.

Cliquez ici pour consulter les articles précédemment résumés sur QApplication et sys.exit (app.exec_ ()) https://qiita.com/kashiba/items/95f04ea9700236853803

Page référencée

http://tommy-on.hatenablog.com/entry/2019/04/17/231229

Recommended Posts

Création de l'interface graphique avec Pyside Partie 2 <Utilisation de la classe>
Création d'interface graphique avec Pyside2 <niveau maternelle>
Programmation GUI à l'aide de kivy ~ Partie 4 Divers boutons ~
Création d'interface graphique en python à l'aide de tkinter partie 1
Utiliser plusieurs versions de l'environnement python avec pyenv
Éliminez les inconvénients du widget QDock avec PySide
Création d'un outil de vente simple avec Python GUI: création de devis
Programmation GUI à l'aide de kivy ~ Partie 5 Création de boutons avec des images ~
Ajouter des attributs d'objets de classe avec une instruction for
Récapitulatif des outils d'exploitation de l'interface graphique Windows avec Python
Utilisation de Google Cloud Storage (GCS) par "GAE / Py"
Utilisez python installé par Pyenv avec Sublime REPL de Sublime Text 3
Programmation GUI avec kivy ~ Partie 3 Vidéo et barre de recherche ~