L'accélération en ligne droite de 1/4 mile est une mesure courante pour évaluer les performances des voitures et des motos. Les passionnés et les experts utilisent cette distance pour évaluer l’accélération et la capacité globale. Dans cet article, nous allons construire un estimateur de base de 1/4 de mile à l'aide de PyQt5, une bibliothèque Python bien connue pour créer des interfaces utilisateur graphiques (GUI). À la fin de cet article, vous disposerez d'un estimateur de 1/4 de mile entièrement fonctionnel que vous pourrez utiliser pour évaluer les performances d'une variété de véhicules.
PyQt5 est une bibliothèque puissante et polyvalente pour créer des applications de bureau en Python. Il fournit un ensemble d'outils intuitifs pour générer des interfaces graphiques de haut niveau et conviviales qui s'exécutent sur plusieurs plates-formes, notamment Windows, macOS et Linux. En raison de sa convivialité, de sa compatibilité multiplateforme et de sa documentation complète, PyQt5 est particulièrement adapté au développement d'estimateurs d'un quart de mile.
Avant de commencer, nous devons installer PyQt5. Vous pouvez le faire en utilisant pip (installateur du package Python), exécutez simplement la commande suivante -
pip install PyQt5
Tout d’abord, combinons le module de base PyQt5 avec le module mathématique intégré de Python.
import sys import math from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel, QLineEdit, QPushButton
Ensuite, créez une classe de fenêtre d'application principale qui hérite de QWidget. Cette classe contiendra les composants et la présentation de notre estimateur.
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_())
Définissez une classe QuarterMileEstimator qui hérite de QWidget. Définissez la méthode init pour initialiser l'objet et appelez la méthode init_ui.
Dans la méthode init_ui, générez et configurez des éléments d'interface utilisateur tels que des étiquettes, des champs de saisie et des boutons. Ajoutez des éléments d'interface utilisateur à la mise en page QVBoxLayout.
Connectez le signal de clic estimé du bouton à la méthodeestimate_ quarter_mile, que nous définirons à l'étape suivante. Définit la disposition du widget QuarterMileEstimator.
Maintenant, intégrons la logique d’estimation dans notre estimateur. Nous utiliserons la formule suivante pour approximer le temps de 1/4 mile -
时间(秒)= 6.269 * sqrt(重量(磅)/ 马力)
Créez la méthodeestimate_ quarter_mile dans la classe QuarterMileEstimator pour effectuer cette estimation -
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.')
Définissez la méthodeestimate_ quarter_mile dans la classe QuarterMileEstimator.
Obtenez les valeurs de poids et de puissance à partir des champs de saisie et convertissez-les en nombres à virgule flottante. Utilisez la formule pour calculer votre temps estimé sur 1/4 de mile.
Affichez les résultats dans result_label QLabel. Si une ValueError se produit (par exemple, si le champ de saisie contient une valeur non numérique), un message d'erreur s'affiche.
Enfin, créez la boucle d'application principale pour faire fonctionner l'estimateur−
最终,创建主应用程序循环来操作估算器: if name == 'main': app = QApplication(sys.argv) estimator = QuarterMileEstimator() estimator.setWindowTitle('1/4 Mile Estimator') estimator.show() sys.exit(app().exec_())
Vérifiez que le script est exécuté en tant que programme principal (c'est-à-dire non importé en tant que module). Créez un objet QApplication et transmettez les paramètres de ligne de commande.
Créez une instance de la classe QuarterMileEstimator. Définissez le titre de la fenêtre et utilisez la méthode show pour afficher l'estimateur.
Utilisez app.exec_() pour exécuter la boucle d'événements de votre application et quitter le script à la fin de la boucle.
--------------------------- | 1/4英里估计器 | --------------------------- | 重量(磅): | | [_______________] | | 马力: | | [_______________] | | [估计] | | | | 大约1/4英里时间: ____ 秒 | ---------------------------
En suivant ces étapes, vous disposez désormais d'un estimateur 1/4 de mile entièrement fonctionnel, utilisant PyQt5 en Python. Cet outil simple mais puissant évalue les performances de divers véhicules en fonction de leur poids et de leur puissance. Grâce à PyQt5, vous pouvez facilement créer des applications de bureau multiplateformes adaptées à une variété de cas d'utilisation, des estimateurs de base aux outils de productivité complexes.
À mesure que vous continuez à améliorer vos compétences Python et PyQt5, envisagez d'explorer des fonctionnalités et des techniques plus complexes, telles que l'intégration avec des bases de données, l'incorporation de multimédia et la création de widgets personnalisés. Grâce à l'apprentissage et à l'expérimentation continus, vous serez en mesure de vous attaquer à n'importe quel projet d'application de bureau.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!