pythonは計算機の簡易版を実現します。
Python計算機の加減乗除は、以下の通りです。
1、効果図
2、コード
1、効果図
2、コード
# coding=utf-8
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QGridLayout, QLCDNumber, QSlider, QVBoxLayout, qApp, \
QMainWindow
from PyQt5.QtCore import Qt
class ForExample(QWidget):
def __init__(self):
super().__init__()
#
self.clu = 0.0
# print('lx',type(self.clu))
self.info = 0.0
print(type(self.info))
self.statusSUN = False
self.statusPoint = False
self.initUI()
def initUI(self):
#
grid = QGridLayout()
self.setLayout(grid)
# names = [' ', ' ', '', ' ',
# '7', '8', '9', '/',
# '4', '5', '6', '*',
# '1', '2', '3', '-',
# '0', '.', '=', '+']
#
# menubar = self.menuBar()
# #
# fileMenu = menubar.addMenu('&File')
# LCD
self.lcd = QLCDNumber(self)
self.lcd.setDigitCount(9)
self.lcd.isRightToLeft()
self.lcd.display(self.info)
grid.addWidget(self.lcd, 0, 0, 2, 4)
#
bc = QPushButton(' ')
bc.clicked.connect(self.def_bc)
grid.addWidget(bc, 2, 0)
#
bk = QPushButton(' ')
bk.clicked.connect(self.def_bk)
grid.addWidget(bk, 2, 1)
# ca = QPushButton(' ')
# ca.clicked.connect(self.def_bc)
# grid.addWidget(ca, 2, 2)
of = QPushButton(' ')
of.clicked.connect(qApp.quit)
grid.addWidget(of, 2, 3)
#
b7 = QPushButton('7')
b7.clicked.connect(self.def_b7)
grid.addWidget(b7, 3, 0)
b8 = QPushButton('8')
b8.clicked.connect(self.def_b8)
grid.addWidget(b8, 3, 1)
b9 = QPushButton('9')
b9.clicked.connect(self.def_b9)
grid.addWidget(b9, 3, 2)
b4 = QPushButton('4')
b4.clicked.connect(self.def_b4)
grid.addWidget(b4, 4, 0)
b5 = QPushButton('5')
b5.clicked.connect(self.def_b5)
grid.addWidget(b5, 4, 1)
b6 = QPushButton('6')
b6.clicked.connect(self.def_b6)
grid.addWidget(b6, 4, 2)
bExcept = QPushButton('/')
bExcept.clicked.connect(self.def_bExcept)
grid.addWidget(bExcept, 3, 3)
bMultiply = QPushButton('*')
bMultiply.clicked.connect(self.def_bMultiply)
grid.addWidget(bMultiply, 4, 3)
b1 = QPushButton('1')
b1.clicked.connect(self.def_b1)
grid.addWidget(b1, 5, 0)
b2 = QPushButton('2')
b2.clicked.connect(self.def_b2)
grid.addWidget(b2, 5, 1)
b3 = QPushButton('3')
b3.clicked.connect(self.def_b3)
grid.addWidget(b3, 5, 2)
bLess = QPushButton('-')
bLess.clicked.connect(self.def_bLess)
grid.addWidget(bLess, 5, 3)
b0 = QPushButton('0')
b0.clicked.connect(self.def_b0)
grid.addWidget(b0, 6, 0)
bPoint = QPushButton('.')
bPoint.clicked.connect(self.def_bPoint)
grid.addWidget(bPoint, 6, 1)
bsun = QPushButton('+')
bsun.clicked.connect(self.def_bsun)
grid.addWidget(bsun, 6, 3)
bsun = QPushButton('=')
bsun.clicked.connect(self.def_bresult)
grid.addWidget(bsun, 6, 2)
self.setGeometry(300, 300, 250, 250)
self.show()
#############################################################
def def_bc(self):
self.info = 0
self.clu = 0
self.statusSUN = False
self.lcd.display(self.info)
def def_bk(self):
if len(str(self.info)) > 1:
self.info = int(str(self.info)[:-1])
else:
self.info = 0
self.lcd.display(self.info)
def def_b7(self):
if self.info == 0:
self.info = 7
else:
self.info = int(str(self.info) + '7')
self.statusSUN = False
self.lcd.display(self.info)
def def_b8(self):
if self.info == 0:
self.info = 8
else:
self.info = int(str(self.info) + '8')
self.statusSUN = False
self.lcd.display(self.info)
def def_b9(self):
if self.info == 0:
self.info = 9
else:
self.info = int(str(self.info) + '9')
self.statusSUN = False
self.lcd.display(self.info)
#
def def_bExcept(self):
pass
def def_b4(self):
if self.info == 0:
self.info = 4
else:
self.info = int(str(self.info) + '4')
self.statusSUN = False
self.lcd.display(self.info)
def def_b5(self):
if self.info == 0:
self.info = 5
else:
self.info = int(str(self.info) + '5')
self.statusSUN = False
self.lcd.display(self.info)
def def_b6(self):
if self.info == 0:
self.info = 6
else:
self.info = int(str(self.info) + '6')
self.statusSUN = False
self.lcd.display(self.info)
#
def def_bMultiply(self):
pass
def def_b1(self):
if self.info == 0:
self.info = 1
else:
self.info = int(str(self.info) + '1')
self.statusSUN = False
self.lcd.display(self.info)
def def_b2(self):
if self.info == 0:
self.info = 2
else:
self.info = int(str(self.info) + '2')
self.statusSUN = False
self.lcd.display(self.info)
def def_b3(self):
if self.info == 0:
self.info = 3
else:
self.info = int(str(self.info) + '3')
self.statusSUN = False
self.lcd.display(self.info)
#
def def_bLess(self):
pass
def def_b0(self):
if self.info == 0:
self.info = 0
else:
self.info = int(str(self.info) + '0')
self.statusSUN = False
self.lcd.display(self.info)
def def_bPoint(self):
if self.statusPoint:
pass
else:
self.statusPoint = True
if self.info == 0:
self.info = 0.
else:
self.info = int(str(self.info) + '.')
self.statusSUN = False
self.lcd.display(self.info)
# , self.status
def def_bresult(self):
self.clu += self.info
self.lcd.display(self.clu)
self.statusSUN = False
self.info = 0
#
def def_bsun(self):
self.clu += self.info
self.lcd.display(self.clu)
self.statusSUN = True
self.info = 0
if __name__ == '__main__':
app = QApplication(sys.argv)
fe = ForExample()
sys.exit(app.exec_()) # coding=utf-8
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QGridLayout, QLCDNumber, QSlider, QVBoxLayout, qApp, \
QMainWindow
from PyQt5.QtCore import Qt
class ForExample(QWidget):
def __init__(self):
super().__init__()
#
self.clu = 0.0
# print('lx',type(self.clu))
self.info = 0.0
print(type(self.info))
self.statusSUN = False
self.statusPoint = False
self.initUI()
def initUI(self):
#
grid = QGridLayout()
self.setLayout(grid)
# names = [' ', ' ', '', ' ',
# '7', '8', '9', '/',
# '4', '5', '6', '*',
# '1', '2', '3', '-',
# '0', '.', '=', '+']
#
# menubar = self.menuBar()
# #
# fileMenu = menubar.addMenu('&File')
# LCD
self.lcd = QLCDNumber(self)
self.lcd.setDigitCount(9)
self.lcd.isRightToLeft()
self.lcd.display(self.info)
grid.addWidget(self.lcd, 0, 0, 2, 4)
#
bc = QPushButton(' ')
bc.clicked.connect(self.def_bc)
grid.addWidget(bc, 2, 0)
#
bk = QPushButton(' ')
bk.clicked.connect(self.def_bk)
grid.addWidget(bk, 2, 1)
# ca = QPushButton(' ')
# ca.clicked.connect(self.def_bc)
# grid.addWidget(ca, 2, 2)
of = QPushButton(' ')
of.clicked.connect(qApp.quit)
grid.addWidget(of, 2, 3)
#
b7 = QPushButton('7')
b7.clicked.connect(self.def_b7)
grid.addWidget(b7, 3, 0)
b8 = QPushButton('8')
b8.clicked.connect(self.def_b8)
grid.addWidget(b8, 3, 1)
b9 = QPushButton('9')
b9.clicked.connect(self.def_b9)
grid.addWidget(b9, 3, 2)
b4 = QPushButton('4')
b4.clicked.connect(self.def_b4)
grid.addWidget(b4, 4, 0)
b5 = QPushButton('5')
b5.clicked.connect(self.def_b5)
grid.addWidget(b5, 4, 1)
b6 = QPushButton('6')
b6.clicked.connect(self.def_b6)
grid.addWidget(b6, 4, 2)
bExcept = QPushButton('/')
bExcept.clicked.connect(self.def_bExcept)
grid.addWidget(bExcept, 3, 3)
bMultiply = QPushButton('*')
bMultiply.clicked.connect(self.def_bMultiply)
grid.addWidget(bMultiply, 4, 3)
b1 = QPushButton('1')
b1.clicked.connect(self.def_b1)
grid.addWidget(b1, 5, 0)
b2 = QPushButton('2')
b2.clicked.connect(self.def_b2)
grid.addWidget(b2, 5, 1)
b3 = QPushButton('3')
b3.clicked.connect(self.def_b3)
grid.addWidget(b3, 5, 2)
bLess = QPushButton('-')
bLess.clicked.connect(self.def_bLess)
grid.addWidget(bLess, 5, 3)
b0 = QPushButton('0')
b0.clicked.connect(self.def_b0)
grid.addWidget(b0, 6, 0)
bPoint = QPushButton('.')
bPoint.clicked.connect(self.def_bPoint)
grid.addWidget(bPoint, 6, 1)
bsun = QPushButton('+')
bsun.clicked.connect(self.def_bsun)
grid.addWidget(bsun, 6, 3)
bsun = QPushButton('=')
bsun.clicked.connect(self.def_bresult)
grid.addWidget(bsun, 6, 2)
self.setGeometry(300, 300, 250, 250)
self.show()
#############################################################
def def_bc(self):
self.info = 0
self.clu = 0
self.statusSUN = False
self.lcd.display(self.info)
def def_bk(self):
if len(str(self.info)) > 1:
self.info = int(str(self.info)[:-1])
else:
self.info = 0
self.lcd.display(self.info)
def def_b7(self):
if self.info == 0:
self.info = 7
else:
self.info = int(str(self.info) + '7')
self.statusSUN = False
self.lcd.display(self.info)
def def_b8(self):
if self.info == 0:
self.info = 8
else:
self.info = int(str(self.info) + '8')
self.statusSUN = False
self.lcd.display(self.info)
def def_b9(self):
if self.info == 0:
self.info = 9
else:
self.info = int(str(self.info) + '9')
self.statusSUN = False
self.lcd.display(self.info)
#
def def_bExcept(self):
pass
def def_b4(self):
if self.info == 0:
self.info = 4
else:
self.info = int(str(self.info) + '4')
self.statusSUN = False
self.lcd.display(self.info)
def def_b5(self):
if self.info == 0:
self.info = 5
else:
self.info = int(str(self.info) + '5')
self.statusSUN = False
self.lcd.display(self.info)
def def_b6(self):
if self.info == 0:
self.info = 6
else:
self.info = int(str(self.info) + '6')
self.statusSUN = False
self.lcd.display(self.info)
#
def def_bMultiply(self):
pass
def def_b1(self):
if self.info == 0:
self.info = 1
else:
self.info = int(str(self.info) + '1')
self.statusSUN = False
self.lcd.display(self.info)
def def_b2(self):
if self.info == 0:
self.info = 2
else:
self.info = int(str(self.info) + '2')
self.statusSUN = False
self.lcd.display(self.info)
def def_b3(self):
if self.info == 0:
self.info = 3
else:
self.info = int(str(self.info) + '3')
self.statusSUN = False
self.lcd.display(self.info)
#
def def_bLess(self):
pass
def def_b0(self):
if self.info == 0:
self.info = 0
else:
self.info = int(str(self.info) + '0')
self.statusSUN = False
self.lcd.display(self.info)
def def_bPoint(self):
if self.statusPoint:
pass
else:
self.statusPoint = True
if self.info == 0:
self.info = 0.
else:
self.info = int(str(self.info) + '.')
self.statusSUN = False
self.lcd.display(self.info)
# , self.status
def def_bresult(self):
self.clu += self.info
self.lcd.display(self.clu)
self.statusSUN = False
self.info = 0
#
def def_bsun(self):
self.clu += self.info
self.lcd.display(self.clu)
self.statusSUN = True
self.info = 0
if __name__ == '__main__':
app = QApplication(sys.argv)
fe = ForExample()
sys.exit(app.exec_())
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。