PyQt5实现简单的计算器
作者:伯纳乌的斯坦森 发布时间:2022-09-27 07:44:39
标签:PyQt5,计算器
本文实例为大家分享了PyQt5实现简单计算器的具体代码,供大家参考,具体内容如下
下面我们将介绍使用python的PyQt5图形界面来编写一个简易的计算器,实现“加,减,乘,除,平方,开方”等运算。
代码如下:
from PyQt5.QtGui import *
from PyQt5.Qt import *
from PyQt5.QtCore import *
import sys,math,string
class Calculator(QWidget):
def __init__(self,parent=None):
QWidget.__init__(self,parent=parent)
self.initUI()
self.last=[]
def initUI(self):
list=['&','**','s','C',7,8,9,'+',4,5,6,'-',1,2,3,'*',0,'.','=','/']
length=len(list)
#创建动态按钮
for i in range (length):
self.button=QPushButton(str(list[i]),self)
#将按钮的clicked信号与onButtonClick函数相连
self.button.clicked.connect(self.onButtonClick)
x=i%4
y=int(i/4)
self.button.move(x*40+10,y*40+100)
self.button.resize(30,30)
#创建文本框
self.lineEdit=QLineEdit('',self)
self.lineEdit.move(10,10)
self.lineEdit.resize(150,70)
self.setGeometry(200,200,170,300)
self.setWindowTitle('计算器')
self.show()
def onButtonClick(self):
t=self.lineEdit.text()#获取文本框文本
new=self.sender().text()
self.last.append(new)
print(self.last)
self.lineEdit.setText(t+new)
if new== "=":
result=eval(str(t))#计算
self.lineEdit.setText(str(result))
if new=='C':
self.lineEdit.setText('')
if new=='sqrt':
self.lineEdit.setText('')
result=math.sqrt(string.atof(t))
self.lineEdit.setText(str(result))
if new=="**":
self.lineEdit.setText('')
result=string.atof(t)**2
self.lineEdit.setText(str(result))
app=QApplication(sys.argv)
w=Calculator()
w.show()
sys.exit(app.exec_())
实现界面如下:
来源:https://blog.csdn.net/weixin_44467002/article/details/94598336


猜你喜欢
- 问题背景: 日常对Sql Server 2005关系数据库进行操作时,有时对数据库(如:Sharepoint网站配置数据库名Sharepoi
- 什么是运算符重载让自定义的类生成的对象(实例)能够使用运算符进行操作作用:让自定义的实例像内建对象一样进行运算符操作让程序简洁易读对自定义对
- 前言小程序本身是不支持async/await语法的,但有些应用场景,我们使用async/await会使得代码更简洁,也更易于维护,用过都知道
- 1.打包多个py文件并且去除cmd黑框格式:pyinstaller.exe -F 路径\文件名.py空格路径\文件名.py空格--nocon
- 由于数据文件平时在数据库运行的时候处于使用状态,故当数据库处于打开状态时,管理员是无法重命名数据文件名字的。那么一定要更改这个数据文件的名字
- 本文实例为大家分享了python放大图片和画方格的具体代码,供大家参考,具体内容如下1、Python 放大图片和画方格算法#!C:/Pyth
- 在使用django restframework serializer 序列化在django中定义的model时,有时候我们需要额外在seri
- 初学python,小缘缘出了几道题: 有一 list a = [1, 2, 3, 4, 5, 6] 请将 a 依 0, 1 1, 2 2,
- zip文件格式是通用的文档压缩标准,在ziplib模块中,使用ZipFile类来操作zip文件,下面具体介绍一下:class zipfile
- 2.1数据的爬取代码:import pandas as pddata=pd.read_csv("example_data.csv&
- 我们在编写asp程序时经常会使用到这个功能,一般我们这样判断如:if a="" then ,而这个函数考虑的就比较全面了
- 本文实例讲述了Flask框架使用DBUtils模块连接数据库的操作方法。分享给大家供大家参考,具体如下:Flask连接数据库数据库连接池:D
- Python语言与Perl,C和Java等语言有许多相似之处。但是,也存在一些差异。在本章中我们将来学习Python的基础语法,让你快速学会
- 向量点乘 (dot) 和对应分量相乘 (multiply) :>>> aarray([1, 2, 3])>>&
- 1、手上目前拥有数据集是一大坨,没有train,test,val的划分如图所示2、目录结构:|---data |
- 1.不同字符与获取字符串长度获取字符串长度,是字符串操作的重要方法。理论来说,获取字符串长度,只要从头到尾查找一遍就可以了。但遗憾的是,不同
- 一、matplotlib 库一个用来绘图的库import matplotlib.pyplot as plt1)plt.imread(&
- 本文实例讲述了PHP中soap的用法,分享给大家供大家参考。具体用法分析如下:PHP 使用soap有两种方式。一、用wsdl文件服务器端:&
- ipython简介ipython他是一个非常流行的python解释器,相比于原生的python解释器,有太多优点和长处,因此几乎是pytho
- 方式一import matplotlib.pyplot as pltimport numpy as npfrom scipy.stats i