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

相关文章

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. 拖拽路径

PyQt5 QDate类的具体使用

《PyQt5QDate类的具体使用》QDate是PyQt5中处理日期的核心类,本文主要介绍了PyQt5QDate类的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录核心功能常用方法及代码示例​1. 创建日期对象​2. 获取日期信息​3. 日期计算与比较​4. 日

Python+PyQt5开发一个Windows电脑启动项管理神器

《Python+PyQt5开发一个Windows电脑启动项管理神器》:本文主要介绍如何使用PyQt5开发一款颜值与功能并存的Windows启动项管理工具,不仅能查看/删除现有启动项,还能智能添加新... 目录开篇:为什么我们需要启动项管理工具功能全景图核心技术解析1. Windows注册表操作2. 启动文件

PyQt5+Python-docx实现一键生成测试报告

《PyQt5+Python-docx实现一键生成测试报告》作为一名测试工程师,你是否经历过手动填写测试报告的痛苦,本文将用Python的PyQt5和python-docx库,打造一款测试报告一键生成工... 目录引言工具功能亮点工具设计思路1. 界面设计:PyQt5实现数据输入2. 文档生成:python-

使用Python创建一个功能完整的Windows风格计算器程序

《使用Python创建一个功能完整的Windows风格计算器程序》:本文主要介绍如何使用Python和Tkinter创建一个功能完整的Windows风格计算器程序,包括基本运算、高级科学计算(如三... 目录python实现Windows系统计算器程序(含高级功能)1. 使用Tkinter实现基础计算器2.