pyqt5制作的小巧玲珑的计算器

2024-01-24 07:08

本文主要是介绍pyqt5制作的小巧玲珑的计算器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

pyqt5制作的小巧玲珑的计算器

废话不多说,本程序为练手作,如果有哪里有不足的,还请各位大佬指出!实物图和代码如下:
在这里插入图片描述

from PyQt5.QtWidgets import *
from PyQt5.QtGui import QIcon, QFont
from PyQt5.QtCore import Qt
import PyQt5.QtCore as QtCore
import sysclass Btn(QPushButton):def __init__(self, name, line):super().__init__(name)self.name = nameself.line = linedef normal_action(self):string = self.line.text()if self.name == '^':self.line.setText(string + '**')else:self.line.setText(string + self.name)def back_action(self):string = self.line.text()[:-1]self.line.setText(string)def del_action(self):self.line.setText('')def get_action(self):string = self.line.text()try:self.line.setText(string + '=' + str(eval(string)))except BaseException:self.line.setText('Error!')class Calc(QWidget):def __init__(self):super().__init__()self.result_line = QLineEdit(self)self.initUI()def initUI(self):grid = QGridLayout()self.setLayout(grid)self.result_line.setFont(QFont("Timers", 13, QFont.Bold))self.result_line.setClearButtonEnabled(True)self.result_line.setPlaceholderText('input expression...')grid.addWidget(self.result_line, 0, 0, 2, 4)names = ['^', '%', 'C', '←','7', '8', '9', '/','4', '5', '6', '*','3', '2', '1', '-','0', '.', '=', '+']positions = [(i, j) for i in range(2, 7) for j in range(4)]for position, name in zip(positions, names):if name != '':btn = Btn(name, self.result_line)if name == 'C':btn.clicked.connect(btn.del_action)elif name == '←':btn.clicked.connect(btn.back_action)elif name == '=':btn.clicked.connect(btn.get_action)else:btn.clicked.connect(btn.normal_action)grid.addWidget(btn, *position)self.resize(250, 200)self.center()self.setFixedSize(self.width(), self.height())self.setWindowTitle('qt_calc')self.setWindowIcon(QIcon('lvyou-active.png'))self.show()def center(self):qr = self.frameGeometry()cp = QDesktopWidget().availableGeometry().center()qr.moveCenter(cp)self.move(qr.topLeft())def keyPressEvent(self, QKeyEvent):if QKeyEvent.key() == Qt.Key_Enter or QKeyEvent.key() == Qt.Key_Return:string = self.result_line.text()try:self.result_line.setText(string + '=' + str(eval(string)))except BaseException:self.result_line.setText('Error!')elif QKeyEvent.key() == Qt.Key_Backspace:if QApplication.keyboardModifiers() == Qt.ControlModifier:self.result_line.setText('')if __name__ == '__main__':app = QApplication(sys.argv)calc = Calc()sys.exit(app.exec_())

2020 - 5 - 20 — — — XXX

这篇关于pyqt5制作的小巧玲珑的计算器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/638884

相关文章

Linux镜像文件制作方式

《Linux镜像文件制作方式》本文介绍了Linux镜像文件制作的过程,包括确定磁盘空间布局、制作空白镜像文件、分区与格式化、复制引导分区和其他分区... 目录1.确定磁盘空间布局2.制作空白镜像文件3.分区与格式化1) 分区2) 格式化4.复制引导分区5.复制其它分区1) 挂载2) 复制bootfs分区3)

Java使用Swing生成一个最大公约数计算器

《Java使用Swing生成一个最大公约数计算器》这篇文章主要为大家详细介绍了Java使用Swing生成一个最大公约数计算器的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下... 目录第一步:利用欧几里得算法计算最大公约数欧几里得算法的证明情形 1:b=0情形 2:b>0完成相关代码第二步:加

使用python制作一款文件粉碎工具

《使用python制作一款文件粉碎工具》这篇文章主要为大家详细介绍了如何使用python制作一款文件粉碎工具,能够有效粉碎密码文件和机密Excel表格等,感兴趣的小伙伴可以了解一下... 文件粉碎工具:适用于粉碎密码文件和机密的escel表格等等,主要作用就是防止 别人用数据恢复大师把你刚删除的机密的文件恢

使用Python实现一个简易计算器的新手指南

《使用Python实现一个简易计算器的新手指南》计算器是编程入门的经典项目,它涵盖了变量、输入输出、条件判断等核心编程概念,通过这个小项目,可以快速掌握Python的基础语法,并为后续更复杂的项目打下... 目录准备工作基础概念解析分步实现计算器第一步:获取用户输入第二步:实现基本运算第三步:显示计算结果进

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

基于Python+PyQt5打造一个跨平台Emoji表情管理神器

《基于Python+PyQt5打造一个跨平台Emoji表情管理神器》在当今数字化社交时代,Emoji已成为全球通用的视觉语言,本文主要为大家详细介绍了如何使用Python和PyQt5开发一个功能全面的... 目录概述功能特性1. 全量Emoji集合2. 智能搜索系统3. 高效交互设计4. 现代化UI展示效果

Python+PyQt5实现MySQL数据库备份神器

《Python+PyQt5实现MySQL数据库备份神器》在数据库管理工作中,定期备份是确保数据安全的重要措施,本文将介绍如何使用Python+PyQt5开发一个高颜值,多功能的MySQL数据库备份工具... 目录概述功能特性核心功能矩阵特色功能界面展示主界面设计动态效果演示使用教程环境准备操作流程代码深度解

Python+PyQt5实现文件夹结构映射工具

《Python+PyQt5实现文件夹结构映射工具》在日常工作中,我们经常需要对文件夹结构进行复制和备份,本文将带来一款基于PyQt5开发的文件夹结构映射工具,感兴趣的小伙伴可以跟随小编一起学习一下... 目录概述功能亮点展示效果软件使用步骤代码解析1. 主窗口设计(FolderCopyApp)2. 拖拽路径