Python - Minha primeira calculadora em PyQt5
Python - Minha primeira calculadora em PyQt5 | ||
Canal Qb |
pip install pyqt5
Rode o Script:
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLineEdit, QPushButton, QGridLayout, QMainWindow, QLabelfrom PyQt5.QtCore import Qtclass Calculadora(QWidget):def __init__(self):super().__init__()# Definindo o layoutlayout = QVBoxLayout()self.setLayout(layout)self.setWindowTitle("@CanalQb no Youtube")# Definindo o visorself.visor = QLineEdit()self.visor.setAlignment(Qt.AlignRight)layout.addWidget(self.visor)# Definindo os botõesbotoes = {'7': (0, 0), '8': (0, 1), '9': (0, 2), '/': (0, 3),'4': (1, 0), '5': (1, 1), '6': (1, 2), '*': (1, 3),'1': (2, 0), '2': (2, 1), '3': (2, 2), '-': (2, 3),'0': (3, 0), 'C': (3, 1), '=': (3, 2), '+': (3, 3),'%': (4, 0), '√': (4, 1), 'x²': (4, 2), '(': (4, 3),')': (5, 0), 'sin': (5, 1), 'cos': (5, 2), 'log': (5, 3)}grid = QGridLayout()layout.addLayout(grid)for botao, posicao in botoes.items():botao_obj = QPushButton(botao)botao_obj.clicked.connect(lambda _, arg=botao: self.clique(arg))grid.addWidget(botao_obj, *posicao)def clique(self, botao):# Lógica de cálculoif botao == 'C':self.visor.setText('')elif botao == '=':try:resultado = eval(self.visor.text())self.visor.setText(str(resultado))except:self.visor.setText('Erro')elif botao == 'x²':self.visor.setText(str(float(self.visor.text()) ** 2))elif botao == '%':try:resultado = eval(str(float(self.visor.text()) / 100))self.visor.setText(str(resultado))except:self.visor.setText('Erro')elif botao == '√':self.visor.setText(str(float(self.visor.text()) ** 0.5))elif botao in ['sin', 'cos', 'log']:try:if botao == 'sin':resultado = eval('sin(' + self.visor.text() + ')')elif botao == 'cos':resultado = eval('cos(' + self.visor.text() + ')')elif botao == 'log':resultado = eval('log(' + self.visor.text() + ')')self.visor.setText(str(resultado))except:self.visor.setText('Erro')else:self.visor.setText(self.visor.text() + botao)if __name__ == '__main__':app = QApplication([])calculadora = Calculadora()calculadora.show()app.exec_()
Nenhum comentário
Comente só assim vamos crescer juntos!
Observação: somente um membro deste blog pode postar um comentário.