[PYTHON] GUI-Erstellung mit Pyside Teil 2 <Verwendung der Klasse>

Einführung

Dies ist ein Memorandum zum Erstellen eines QtWidget mithilfe einer Klasse.

Klicken Sie hier für den zuvor zusammengefassten Artikel über die Klasse https://qiita.com/kashiba/items/339b81f63612ffdba573

Was diesmal zu machen

Abschlusszeichnung

Es ist ein einfaches Fenster mit nur einer Schaltfläche. image.png

Jedes Mal, wenn Sie auf die Schaltfläche klicken, wird "Hallo Welt" gedruckt.

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()
        #Erstellen und platzieren Sie eine Schaltfläche
        self.button = QPushButton("Button")
        self.layout.addWidget(self.button)
        #Link Button Klick mit Funktion Hallo
        self.button.clicked.connect(self.hello)
        self.w.setLayout(self.layout)
        self.w.show()

    #Wird per Knopfdruck aufgerufen
    def hello(self):
        print("Hello world")


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

Kommentar

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

Erstellen Sie eine Klasse window_A, die QWidget erbt und init der Superklasse (QWidget) erbt. Wenn Sie diesen Bereich mit "Klassenvererbung" nachschlagen, finden Sie viele Informationen.

        self.w = QWidget()
        QVBoxLayout

Erstellen Sie "QWidget" als Basis des Fensters und "QVBoxLayout" als Rahmen für das Layout der Schaltflächen. V von QVBoxLayout zeigt vertikales und vertikales Layout an, und H von QHBoxLayout zeigt horizontales und horizontales Layout an.

■ Beispiel für die Erstellung eines QVBoxLayout image.png

■ Beispiel für die Erstellung von QVHoxLayout image.png

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

Ich habe ein "QPushButton" -Objekt erstellt und das Label "Button" an die Schaltfläche angehängt. Der Befehl addWidget legt die Schaltfläche bei self.layout = QVBoxLayout an.

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

Ich verbinde die Funktion "self.hello" mit "self.button". Mit .clicked.connect können Sie die angegebene Funktion mit dem Ereignis verbinden, wenn Sie auf die Schaltfläche klicken. Beachten Sie, dass wir "self.hello" anstelle von "self.hello ()" angeben. ** () ist nicht nötig. ** ** **

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

Setzen Sie "self.layout" = "QVBoxLayout" auf "self.w" = "QWidget" in ".setLayout". ■ Bilddiagramm image.png

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

Es ist eine Funktion, die nur Hello World druckt.

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

Dies ist der Vorgang, wenn die Python-Datei gestartet wird. Generieren Sie nach dem Erstellen der QApplication die Fensterklasse. Gleichzeitig mit der Generierung der Fensterklasse generiert init das Fenster.

Klicken Sie hier, um zuvor zusammengefasste Artikel zu "QApplication" und "sys.exit (app.exec_ ())" anzuzeigen https://qiita.com/kashiba/items/95f04ea9700236853803

Referenzierte Seite

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

Recommended Posts

GUI-Erstellung mit Pyside Teil 2 <Verwendung der Klasse>
GUI-Erstellung mit Pyside2 <Kindergartenlevel>
GUI-Programmierung mit kivy ~ Teil 4 Verschiedene Tasten ~
GUI-Erstellung in Python mit tkinter Teil 1
Verwenden Sie mit pyenv mehrere Versionen der Python-Umgebung
Beseitigen Sie die Unannehmlichkeiten von QDock Widget mit PySide
Einfache Erstellung von Verkaufstools mit Python-GUI: Schätzung erstellen
GUI-Programmierung mit kivy ~ Teil 5 Erstellen von Schaltflächen mit Bildern ~
Fügen Sie Attribute von Klassenobjekten mit einer for-Anweisung hinzu
Zusammenfassung der Tools zum Betreiben der Windows-Benutzeroberfläche mit Python
Nutzung von Google Cloud Storage (GCS) durch "GAE / Py"
Verwenden Sie Python, das von Pyenv mit Sublime REPL von Sublime Text 3 installiert wurde
GUI-Programmierung mit kivy ~ Teil 3 Video und Suchleiste ~