# -*- coding: utf-8 -*-
"""
Created on Wed Mar 18 18:28:12 2020
@author: LG
"""
# calc com interface grafica
import sys
from PyQt5.QtWidgets import (QApplication, QWidget, QMainWindow, QListWidget, QPushButton, QHBoxLayout)
from PyQt5.QtGui import QIcon
class home(QWidget):
def __init__(self, parent =None):
"""
Notes:
"""
super(home, self).__init__(parent)# # para garantir que os parametros da classe home vão ser execultados.
"""Agora devemos inicializar a classe da qual estamos derivando, ou seja, a classe QWidget. Utilizaremos
o super() ao invés das formas convencionais. Ficará da seguinte forma:
super(home, self).__init__(parent)
"""
# OBS: É PRECISO COLOCAR AS FUNCOES NA ORDEM
# DE CRIAÇÃO ... EX O BOTÃO CRIADO ANTES DA FUNÇÃO QUE USA ESSE BOTAO
#(ISSO PARA EVITAR:'home' object has no attribute 'listWidget' )
self.conf() #2 CONFIGURAÇÃO PODERIA SER COLOCADA ANTES OU DEPOIS!
self.lay() #1 AS COISAS DO LAYOUT SÃO CRIADAS ANTES DAS COISAS DAS OUTRAS FUNÇÕES
self.soma() #3
self.mult() #4
self.sub() #5
self.div() #6
self.limpar()#7
def conf(self): # configurações da tela principal:
self.setWindowTitle("calc0.01")
self.setGeometry(700, 400, 350, 300)
self.setWindowIcon(QIcon('cal.png')) # como fazer funcionar
def lay(self):
# O PushButton e a listWidget e etc etao mostrados aqui:
self.layout = QHBoxLayout() # cria o layout
self.setLayout(self.layout) # setarb = mostra os itens na tela
self.listWidget = QListWidget()
self.listWidget.setGeometry(350, 200, 150,100)
self.layout.addWidget(self.listWidget)# adiciona o listWidget
'''BOTÔES:'''
#botão da operacao matematica:
self.b = QPushButton("SOMA") # cria o botao
self.b.setGeometry(300, 300, 250, 100) #cria a geometria do botão
self.layout.addWidget(self.b) # adicionei self.b no layout
self.s = QPushButton("SUB") # cria o botao
self.s.setGeometry(300, 300, 250, 100) #cria a geometria do botão
self.layout.addWidget(self.s) # adicionei self.b no layout
self.m = QPushButton("MULT") # cria o botao
self.m.setGeometry(300, 300, 250, 100) #cria a geometria do botão
self.layout.addWidget(self.m)# adicionei self.b no layout
self.d = QPushButton("DIVI") # cria o botao
self.d.setGeometry(300, 300, 250, 100) #cria a geometria do botão
self.layout.addWidget(self.d) # adicionei self.b
#botao para limpar a operacao matematica:
self.l = QPushButton("CLEAR") # cria o botao
self.l.setGeometry(300, 300, 250, 100) #cria a geometria do botão
self.layout.addWidget(self.l) # adicionei self.l no layout
#self.l.clicked.connect(clier) #fazer funcionar
'''OS CODIGO ABAIXO TEM LIGAÇÃO COM AS FUNÇÕES:'''
#FAZ AS FUNCOES SEREM EXECULTADAS
# a função soma funcionar(execulta a função)
self.b.clicked.connect(self.soma)
#multiplica(conecta com a função mult):
self.m.clicked.connect(self.mult)
#subtrai (conecta com a função sub)
self.s.clicked.connect(self.sub)
#divide (conecta com a função div)
self.d.clicked.connect(self.div)
#limpa a operacao:
self.l.clicked.connect(self.limpar)
''' FUNÇÕES:'''
def soma(self): # ESSA FUNÇÃO FAZ OS CALCULOS DE ARITMETICA BASICA
for a in range(0,10):
b = 2
r = b + a
self.listWidget.addItem(str(int(r)) + "=" + str(int(b)) + "+" + str(int(a)))
def mult(self): # ESSA FUNÇÃO FAZ A MULTIPLICAÇÃO BAISCA DE DOIS NUMEROS
for a in range(0,10):
b = 2
r = b * a
self.listWidget.addItem(str(int(r)) + "=" + str(int(b)) + "*" + str(int(a)))
def sub(self): # ESSA FUNÇÃO FAZ A SUBTRAÇÃO BAISCA DE DOIS NUMEROS
for a in range(0,10):
b = 2
r = b - a
self.listWidget.addItem(str(int(r)) + "=" + str(int(b)) + "-" + str(int(a)))
def div(self): # ESSA FUNÇÃO FAZ A DIVISÃO BAISCA DE DOIS NUMEROS
for a in range(0,10):
b = 2
r = b + a
self.listWidget.addItem(str(int(r)) + "=" + str(int(b)) + "div" + str(int(a)))
def limpar(self):
self.listWidget.clear() #clear() : To delete all the items present in the list
if __name__ == '__main__':
app = QApplication(sys.argv)
face = home()
face.show()
sys.exit(app.exec_())