NOSSO MENU

terça-feira, 7 de julho de 2020

EXEMPLO DE INTERFACE GRÁFICA COM PYQT5 E PYTHON

# -*- 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_())
        

Nenhum comentário:

Postar um comentário

Redes Sociais

anuncios