Heim >Backend-Entwicklung >Python-Tutorial >1/4-Meile-Rechner, geschrieben in PyQt5 in Python
Die geradlinige Beschleunigung von 1/4 Meile ist eine gängige Messgröße zur Bewertung der Leistung von Autos und Motorrädern. Enthusiasten und Experten nutzen diese Distanz gleichermaßen, um die Beschleunigung und die Gesamtfähigkeit zu bewerten. In diesem Artikel erstellen wir einen einfachen 1/4-Meile-Schätzer mit PyQt5, einer bekannten Python-Bibliothek zum Erstellen grafischer Benutzeroberflächen (GUIs). Am Ende dieses Artikels verfügen Sie über einen voll funktionsfähigen 1/4-Meile-Schätzer, mit dem Sie die Leistung verschiedener Fahrzeuge bewerten können.
PyQt5 ist eine leistungsstarke und vielseitige Bibliothek zum Erstellen von Desktop-Anwendungen in Python. Es bietet eine Reihe intuitiver Tools zum Generieren hochwertiger, benutzerfreundlicher GUIs, die auf mehreren Plattformen, einschließlich Windows, macOS und Linux, ausgeführt werden können. Aufgrund seiner Benutzerfreundlichkeit, plattformübergreifenden Kompatibilität und umfangreichen Dokumentation eignet sich PyQt5 besonders für die Entwicklung von Viertelmeilenschätzern.
Bevor wir beginnen, müssen wir PyQt5 installieren. Sie können dies mit pip (Python-Paketinstallationsprogramm) tun. Führen Sie einfach den folgenden Befehl aus -
pip install PyQt5
Kombinieren wir zunächst das grundlegende PyQt5-Modul mit dem integrierten Mathematikmodul von Python.
import sys import math from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel, QLineEdit, QPushButton
Erstellen Sie anschließend eine Hauptanwendungsfensterklasse, die von QWidget erbt. Diese Klasse enthält die Komponenten und das Layout unseres Schätzers.
class QuarterMileEstimator(QWidget): def init(self): super().init() # 初始化UI元素 self.init_ui() def init_ui(self): # 创建和配置UI元素 layout = QVBoxLayout() self.title = QLabel('1/4 Mile Estimator') self.weight_label = QLabel('Weight (lbs):') self.weight_input = QLineEdit() self.hp_label = QLabel('Horsepower:') self.hp_input = QLineEdit() self.calculate_button = QPushButton('Estimate') self.result_label = QLabel('') # 将UI元素添加到布局中 layout.addWidget(self.title) layout.addWidget(self.weight_label) layout.addWidget(self.weight_input) layout.addWidget(self.hp_label) layout.addWidget(self.hp_input) layout.addWidget(self.calculate_button) layout.addWidget(self.result_label) # 将估计按钮连接到计算函数 self.calculate_button.clicked.connect(self.estimate_quarter_mile) # 设置小部件的布局 self.setLayout(layout) time (seconds) = 6.269 * sqrt(weight (lbs) / horsepower) def estimate_quarter_mile(self): try: weight = float(self.weight_input.text()) horsepower = float(self.hp_input.text()) # 计算1/4英里时间 time = 6.269 * math.sqrt(weight / horsepower) # 显示结果 self.result_label.setText(f'Approximated 1/4 Mile Time: {time:.2f} seconds') except ValueError: # 如果输入无效,则显示错误消息 self.result_label.setText('Error: Invalid input. Please enter valid numbers for weight and horsepower.') if name == 'main': app = QApplication(sys.argv) estimator = QuarterMileEstimator() estimator.setWindowTitle('1/4 Mile Estimator') estimator.show() sys.exit(app().exec_())
Definieren Sie eine QuarterMileEstimator-Klasse, die von QWidget erbt. Definieren Sie die Init-Methode zum Initialisieren des Objekts und rufen Sie die Methode init_ui auf.
Generieren und konfigurieren Sie in der init_ui-Methode UI-Elemente wie Beschriftungen, Eingabefelder und Schaltflächen. Fügen Sie UI-Elemente zum QVBoxLayout-Layout hinzu.
Verbinden Sie das Klicksignal der geschätzten Schaltfläche mit der Methode „estimate_quarter_mile“, die wir im nächsten Schritt definieren werden. Legt das Layout des QuarterMileEstimator-Widgets fest.
Jetzt integrieren wir die Schätzlogik in unseren Schätzer. Wir werden die folgende Formel verwenden, um die Zeit von einer Viertelmeile ungefähr zu berechnen -
时间(秒)= 6.269 * sqrt(重量(磅)/ 马力)
Erstellen Sie die Methode „estimate_quarter_mile“ in der Klasse „QuarterMileEstimator“, um diese Schätzung durchzuführen –
def estimate_quarter_mile(self): try: weight = float(self.weight_input.text()) horsepower = float(self.hp_input.text()) # 计算1/4英里时间 time = 6.269 * math.sqrt(weight / horsepower) # 显示结果 self.result_label.setText(f'Approximated 1/4 Mile Time: {time:.2f} seconds') except ValueError: # 如果输入无效,则显示错误消息 self.result_label.setText('Error: Invalid input. Please enter valid numbers for weight and horsepower.')
Definieren Sie die Methode „estimate_quarter_mile“ in der QuarterMileEstimator-Klasse.
Gewichts- und PS-Werte aus Eingabefeldern abrufen und in Gleitkommazahlen umwandeln. Verwenden Sie die Formel, um Ihre geschätzte 1/4-Meile-Zeit zu berechnen.
Ergebnisse in result_label QLabel anzeigen. Wenn ein ValueError auftritt (z. B. wenn das Eingabefeld einen nicht numerischen Wert enthält), wird eine Fehlermeldung angezeigt.
Schließlich erstellen Sie die Hauptanwendungsschleife, um den Schätzer zu betreiben −
最终,创建主应用程序循环来操作估算器: if name == 'main': app = QApplication(sys.argv) estimator = QuarterMileEstimator() estimator.setWindowTitle('1/4 Mile Estimator') estimator.show() sys.exit(app().exec_())
Stellen Sie sicher, dass das Skript als Hauptprogramm ausgeführt wird (d. h. nicht als Modul importiert). Erstellen Sie ein QApplication-Objekt und übergeben Sie Befehlszeilenparameter.
Erstellen Sie eine Instanz der QuarterMileEstimator-Klasse. Legen Sie den Fenstertitel fest und verwenden Sie die Show-Methode, um den Schätzer anzuzeigen.
Verwenden Sie app.exec_(), um die Ereignisschleife Ihrer Anwendung auszuführen und das Skript zu verlassen, wenn die Schleife endet.
--------------------------- | 1/4英里估计器 | --------------------------- | 重量(磅): | | [_______________] | | 马力: | | [_______________] | | [估计] | | | | 大约1/4英里时间: ____ 秒 | ---------------------------
Wenn Sie diese Schritte befolgen, verfügen Sie jetzt über einen voll funktionsfähigen 1/4-Meile-Schätzer, der PyQt5 in Python verwendet. Dieses einfache, aber leistungsstarke Tool bewertet die Leistung verschiedener Fahrzeuge anhand ihres Gewichts und ihrer PS-Leistung. Mit PyQt5 können Sie ganz einfach plattformübergreifende Desktop-Anwendungen erstellen, die für eine Vielzahl von Anwendungsfällen geeignet sind, von einfachen Schätzern bis hin zu komplexen Produktivitätstools.
Während Sie Ihre Python- und PyQt5-Kenntnisse weiter verbessern, sollten Sie die Erkundung komplexerer Funktionen und Techniken in Betracht ziehen, z. B. die Integration in Datenbanken, die Einbindung von Multimedia und die Erstellung benutzerdefinierter Widgets. Durch kontinuierliches Lernen und Experimentieren sind Sie in der Lage, jedes Desktop-Anwendungsprojekt in Angriff zu nehmen.
Das obige ist der detaillierte Inhalt von1/4-Meile-Rechner, geschrieben in PyQt5 in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!