[Código-PyQT4] Calculadora - JaAViEr

Iniciado por JaAViEr, Junio 30, 2011, 08:53:52 PM

Tema anterior - Siguiente tema

0 Miembros y 2 Visitantes están viendo este tema.

Junio 30, 2011, 08:53:52 PM Ultima modificación: Marzo 23, 2015, 12:03:07 PM por Expermicid
No podía faltar la típica calculadora python
ahora en QT4 :D

Lo que interesa, el código:
Código: python

# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtCore, QtGui

class calculadora(QtGui.QWidget):
    def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setWindowTitle("Calculadora")
self.resize(119, 145)
self.temp=""
self.igual = QtGui.QPushButton("=",self)
        self.igual.setGeometry(90, 120, 31, 24)
self.multiplica = QtGui.QPushButton("*",self)
self.multiplica.setGeometry(0, 120, 31, 24)
        self.connect(self.multiplica,QtCore.SIGNAL("clicked()"),self.multiplicar)
self.clean = QtGui.QPushButton("AC",self)
self.clean.setGeometry(30, 120, 31, 24)
        self.connect(self.clean,QtCore.SIGNAL("clicked()"),self.clear)
self.divide = QtGui.QPushButton("/",self)
        self.connect(self.divide,QtCore.SIGNAL("clicked()"),self.dividir)
        self.divide.setGeometry(0, 90, 31, 24)
        self.connect(self.igual,QtCore.SIGNAL("clicked()"),self.resultado)
self.resta = QtGui.QPushButton("-",self)
        self.resta.setGeometry(0, 60, 31, 24)
        self.connect(self.resta,QtCore.SIGNAL("clicked()"),self.restar)
self.suma = QtGui.QPushButton("+",self)
self.suma.setGeometry(0, 30, 31, 24)
        self.connect(self.suma,QtCore.SIGNAL("clicked()"),self.sumar)
        self.lineEdit = QtGui.QLineEdit(self)
        self.lineEdit.setGeometry(QtCore.QRect(0, 0, 121, 25))
        self.uno = QtGui.QPushButton("1",self)
        self.connect(self.uno,QtCore.SIGNAL("clicked()"),self.inu)
        self.uno.setGeometry(QtCore.QRect(30, 30, 31, 24))
        self.dos = QtGui.QPushButton("2",self)
        self.connect(self.dos,QtCore.SIGNAL("clicked()"),self.ind)
        self.dos.setGeometry(QtCore.QRect(60, 30, 31, 24))
        self.tres = QtGui.QPushButton("3",self)
        self.connect(self.tres,QtCore.SIGNAL("clicked()"),self.intr)
        self.tres.setGeometry(QtCore.QRect(90, 30, 31, 24))
        self.cuatro = QtGui.QPushButton("4",self)
        self.connect(self.cuatro,QtCore.SIGNAL("clicked()"),self.inc)
        self.cuatro.setGeometry(QtCore.QRect(30, 60, 31, 24))
        self.cinco = QtGui.QPushButton("5",self)
        self.connect(self.cinco,QtCore.SIGNAL("clicked()"),self.inci)
        self.cinco.setGeometry(QtCore.QRect(60, 60, 31, 24))
        self.seis = QtGui.QPushButton("6",self)
        self.connect(self.seis,QtCore.SIGNAL("clicked()"),self.ins)
        self.seis.setGeometry(QtCore.QRect(90, 60, 31, 24))
        self.nueve = QtGui.QPushButton("9",self)
        self.connect(self.nueve,QtCore.SIGNAL("clicked()"),self.inn)
        self.nueve.setGeometry(QtCore.QRect(90, 90, 31, 24))
        self.ocho = QtGui.QPushButton("8",self)
        self.connect(self.ocho,QtCore.SIGNAL("clicked()"),self.ino)
        self.ocho.setGeometry(QtCore.QRect(60, 90, 31, 24))
        self.siete = QtGui.QPushButton("7",self)
        self.connect(self.siete,QtCore.SIGNAL("clicked()"),self.insi)
        self.siete.setGeometry(QtCore.QRect(30, 90, 31, 24))
        self.cero = QtGui.QPushButton("0",self)
        self.cero.setGeometry(QtCore.QRect(60, 120, 31, 24))
        self.connect(self.cero,QtCore.SIGNAL("clicked()"),self.ince)
    def clear(self):
      self.temp=""
      self.lineEdit.setText("")
    def restar(self):
      self.temp+="-"
      self.lineEdit.setText(self.temp)
    def dividir(self):
      self.temp+="/"
      self.lineEdit.setText(self.temp)
    def multiplicar(self):
      self.temp+="*"
      self.lineEdit.setText(self.temp)
    def sumar(self):
self.temp+="+"
self.lineEdit.setText(self.temp)

    def resultado(self):
if len(self.temp)>0:
  final=eval(self.temp)
  self.lineEdit.setText(str(final))
  self.temp=str(final)
else:
  final=eval(str(self.lineEdit.text()))
  print final
  self.lineEdit.setText(str(final))
  self.temp=str(final)
    def inu(self):
self.temp+="1"
self.lineEdit.setText(self.temp)
    def ind(self):
self.temp+="2"
self.lineEdit.setText(self.temp)
    def intr(self):
self.temp+="3"
self.lineEdit.setText(self.temp)
    def inc(self):
self.temp+="4"
self.lineEdit.setText(self.temp)

    def inci(self):
self.temp+="5"
self.lineEdit.setText(self.temp)

    def ins(self):
self.temp+="6"
self.lineEdit.setText(self.temp)

    def insi(self):
self.temp+="7"
self.lineEdit.setText(self.temp)

    def ino(self):
self.temp+="8"
self.lineEdit.setText(self.temp)

    def inn(self):
self.temp+="9"
self.lineEdit.setText(self.temp)

    def ince(self):
self.temp+="0"
self.lineEdit.setText(self.temp)

calc=QtGui.QApplication(sys.argv)
dialogo=calculadora()
dialogo.show()
calc.exec_()

Saludos underc0de ;D
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Muy bueno Javier, pero como te dije por MSN, deja de robarme las ideas :P

Saludos y felicitaciones!

interesante el codigo, si me permites una sugerencia recomendaría agrandar un poquito la interfaz grafica.


saludos.
¡< blozzter >!

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Muy bueno Javier, pero como te dije por MSN, deja de robarme las ideas :P

Saludos y felicitaciones!
Jajaja Gracias :P tu y yo sabemos que no te robé la idea xd, la calculadora es lo más
típico DX
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
interesante el codigo, si me permites una sugerencia recomendaría agrandar un poquito la interfaz grafica.


saludos.
Thanks, habría que editar los setGeometry y el resize nada más.
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login