In der letzten Lektion haben wir die Installation von PyQty5 und die Konfiguration der beiden Umgebungen gelernt. In der heutigen Lektion lernen wir die Bindung von Widgets wie Schaltflächen und unseren Funktionen kennen. Nachdem wir dies gelernt haben, können wir die Schnittstelle selbst entwerfen. Schreiben Sie Ihre eigenen Funktionen, um Ihre eigenen Gadgets zu entwerfen
1. Zuerst erstellen wir eine neue py-Datei. Klicken Sie mit der rechten Maustaste, um das Designfenster zu öffnen
2. Wir klicken links auf [Schaltflächen] und ziehen drei [Push Button]-Schaltflächen. Doppelklicken Sie, um den Namen zu ändern
2. Für den Schließen-Button binden wir ihn zunächst mit einer Schließfunktion ( 这一步先照着做一下
)
2-1 Klicken Sie auf das Pfeilsymbol in der oberen linken Ecke
2-2 Klicken Sie auf die Schaltfläche [Fenster schließen] und ziehen Sie sie an eine leere Position
2-3 Klicken Sie wie unten gezeigt (F3 zum Beenden)
3. Ändern Sie die Objektnamen der beiden Schaltflächen (zufällig).
4. Dann wird unser einfaches kleines Fenster erstellt, speichern wir es mit [Strg+s].
Als Nächstes verwenden wir die im vorherigen Abschnitt konfigurierte Umgebung, um die soeben entworfene UI-Datei in eine Py-Datei zu konvertieren. Anschließend wird eine Py-Datei mit demselben Namen generiert
5. Als nächstes fügen wir den Code zum Erstellen des Objekts hinzu. Denken Sie daran, Ihren Klassennamen zu ändern
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
mainWindow = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(mainWindow)
mainWindow.show()
sys.exit(app.exec_())
Videodemonstration, es scheint, dass es oben kein Problem gibt
6. Als nächstes binden wir die beiden Tasten an die Funktion
6-1, werfen wir zunächst einen Blick auf unseren Button
6-1, die Schaltflächenbindungsfunktion lautet: self.button.clicked.connect(绑定的函数)
Beachten Sie, dass die Bindungsfunktion keine Klammern hat
# -*- coding: utf-8 -*-
import sys
# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt5 UI code generator 5.15.6
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(400, 300)
self.nhbutton = QtWidgets.QPushButton(Dialog)
self.nhbutton.setGeometry(QtCore.QRect(90, 50, 201, 23))
self.nhbutton.setObjectName("nhbutton")
self.nhbutton.clicked.connect(self.print_nh)
self.hellobutton = QtWidgets.QPushButton(Dialog)
self.hellobutton.setGeometry(QtCore.QRect(90, 100, 201, 23))
self.hellobutton.setObjectName("hellobutton")
self.hellobutton.clicked.connect(self.print_hello_world)
self.pushButton_3 = QtWidgets.QPushButton(Dialog)
self.pushButton_3.setGeometry(QtCore.QRect(140, 150, 75, 23))
self.pushButton_3.setObjectName("pushButton_3")
self.retranslateUi(Dialog)
self.pushButton_3.clicked.connect(Dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Dialog)
def print_nh(self):
print("你好")
def print_hello_world(self):
print("Hello World")
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
self.nhbutton.setText(_translate("Dialog", "点击按钮打印你好"))
self.hellobutton.setText(_translate("Dialog", "点击按钮打印HelloWorld"))
self.pushButton_3.setText(_translate("Dialog", "关闭窗口"))
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
mainWindow = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(mainWindow)
mainWindow.show()
sys.exit(app.exec_())