📜  使用 PyQt5 创建黄金比例计算器(1)

📅  最后修改于: 2023-12-03 15:06:49.964000             🧑  作者: Mango

使用 PyQt5 创建黄金比例计算器

本文介绍如何使用 PyQt5 创建一个黄金比例计算器。黄金比例是一种特殊的比例关系,被广泛应用于设计、艺术和建筑等领域中。

程序界面

首先,我们来看一下最终程序的界面。界面如下所示:

界面截图

程序界面中包含了两个文本框和一个按钮,用户可以在第一个文本框中输入数值,然后单击按钮计算黄金比例,计算结果将会显示在第二个文本框中。

程序实现

接下来,我们来实现这个程序。首先,我们需要导入 PyQt5 库并创建一个主窗口:

from PyQt5.QtWidgets import QApplication, QMainWindow

app = QApplication([])
window = QMainWindow()

然后,我们可以设置主窗口的标题和尺寸:

window.setWindowTitle('黄金比例计算器')
window.setGeometry(100, 100, 400, 150)

接下来,我们需要添加两个文本框和一个按钮到主窗口中:

from PyQt5.QtWidgets import QLineEdit, QPushButton

input_box = QLineEdit(window)
input_box.setGeometry(50, 50, 150, 30)

output_box = QLineEdit(window)
output_box.setGeometry(200, 50, 150, 30)
output_box.setReadOnly(True)

calculate_button = QPushButton('计算', window)
calculate_button.setGeometry(50, 100, 300, 30)

我们将第一个文本框和按钮放在同一行,第二个文本框放在下一行。

接下来,我们需要实现点击按钮时的计算逻辑:

def calculate():
    try:
        value = float(input_box.text())
        golden_ratio = value * 0.61803398875
        output_box.setText(str(golden_ratio))
    except ValueError:
        output_box.setText('请输入数字')
        
calculate_button.clicked.connect(calculate)

这里我们使用 try/except 块来捕获用户输入的值中是否包含非数字字符的情况,并在第二个文本框中显示相应的提示信息。如果用户输入的是数字,则计算黄金比例并将结果显示在第二个文本框中。

最后,我们需要调用 show() 方法以显示主窗口:

window.show()
app.exec_()

完整代码如下:

from PyQt5.QtWidgets import QApplication, QMainWindow, QLineEdit, QPushButton

app = QApplication([])
window = QMainWindow()

window.setWindowTitle('黄金比例计算器')
window.setGeometry(100, 100, 400, 150)

input_box = QLineEdit(window)
input_box.setGeometry(50, 50, 150, 30)

output_box = QLineEdit(window)
output_box.setGeometry(200, 50, 150, 30)
output_box.setReadOnly(True)

calculate_button = QPushButton('计算', window)
calculate_button.setGeometry(50, 100, 300, 30)

def calculate():
    try:
        value = float(input_box.text())
        golden_ratio = value * 0.61803398875
        output_box.setText(str(golden_ratio))
    except ValueError:
        output_box.setText('请输入数字')

calculate_button.clicked.connect(calculate)

window.show()
app.exec_()
总结

使用 PyQt5 创建黄金比例计算器的过程中,我们学习了如何使用 PyQt5 库创建一个简单的 GUI 应用程序,在程序中添加文本框、按钮等控件。同时,我们还学习了如何使用信号与槽机制实现用户交互和对事件的响应。通过这个例子,我们可以深入了解 PyQt5 库,以及如何使用它来创建更加复杂和功能强大的 GUI 应用程序。