【介绍】
比Windows系统自带的还好用的计算器,感兴趣的可以试用一下。
1.支持括号优先级运算和平方、立方计算;
2.支持计算历史记录功能;
3.支持界面缩放和拖动;
4.支持钉在界面(界面最前置顶),再次点击取消置顶;
5.支持复杂的组合计算,支持鼠标点击和通过键盘方式输入算式;
【背景】
最近几天测试时,经常需要将web端页面的一些数据加起来汇总,Windows10自带的计算机用的真的是蛋疼,于是,自己写了一个计算器,解决使用过程中的一些体验问题。
【功能】
用python+pyqt5写了一个双行显示的计算器,计算器一个显示界面显示输入的复杂的算式,如带括号的加减乘除法,计算顺序需要遵循数学计算规则。
详细代码如下:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QLineEdit, QLabel
from PyQt5.QtGui import QFont, QIconclass CalculatorApp(QWidget):def __init__(self):super().__init__()self.setWindowTitle('双行计算器')self.setWindowIcon(QIcon('icon.png')) # 设置窗体图标# 设置输入框和结果显示框的样式self.input_line = QLineEdit()self.input_line.setReadOnly(True)self.input_line.setFont(QFont("Arial", 20))self.result_label = QLabel()self.result_label.setFont(QFont("Arial", 24))self.create_buttons()main_layout = QVBoxLayout()main_layout.addWidget(self.input_line)main_layout.addWidget(self.result_label)main_layout.addLayout(self.button_layout)self.setLayout(main_layout)def create_buttons(self):self.buttons = ['(', ')', '√', 'x^2','x^3', '←', 'C', '/','7', '8', '9', '*','4', '5', '6', '-','1', '2', '3', '+','0', '00', '.', '=']self.button_layout = QVBoxLayout()for i in range(6):row_layout = QHBoxLayout()for j in range(4):button = QPushButton(self.buttons[i * 4 + j])button.clicked.connect(self.on_button_click)button.setFont(QFont("Arial", 16))row_layout.addWidget(button)self.button_layout.addLayout(row_layout)def on_button_click(self):button = self.sender()clicked_text = button.text()current_text = self.input_line.text()if clicked_text == '=':try:result = eval(current_text)self.result_label.setText(str(result))except:self.result_label.setText('Error')elif clicked_text == 'C':self.input_line.clear()self.result_label.clear()elif clicked_text == '←':self.input_line.setText(str(self.input_line.text()[0:-1]))else:self.input_line.setText(current_text + clicked_text)if __name__ == '__main__':app = QApplication(sys.argv)calc_app = CalculatorApp()calc_app.show()sys.exit(app.exec_())
【运行效果】
经过验证,初步已经达到了预期。
【进阶版】
虽然功能上已经比自带的好一点,但是仍然不是很好用。
1、美化UI的颜色、边框和点击效果;
2、区分显示输入的算式内容,将删除、清除按钮、加减乘除和等号设置不同的颜色,便于区分。
3、增加计算历史记录显示功能,点击查看历史按钮,可以显示之前算式的内容和结果;
4、增加窗口置顶(钉在屏幕上),再次点击取消置顶;
5、调整美化字体;
6、窗口实现自适应;
【进阶版效果】
默认效果:
全屏效果:
【下载体验】
资源已上传,可免费下载体验,欢迎提供优化建议。
下载链接:
https://download.csdn.net/download/zh6526157/88780297