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
C'est une simple fenêtre avec un seul bouton.
Chaque fois que vous cliquez sur le bouton, "Hello world" est imprimé.
Hello world
Hello world
Hello world
Hello world
#!/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_())
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
■ Exemple de création de QVHoxLayout
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
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
http://tommy-on.hatenablog.com/entry/2019/04/17/231229
Recommended Posts