Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: 0x5d en 2 Julio 2011, 09:25 am



Título: [Código-PyQT4]Calculadora - JaAViEr
Publicado por: 0x5d en 2 Julio 2011, 09:25 am
No podía faltar la típica calculadora python
ahora en QT4 :D
Screen:
(http://anycode.s.gp/misubidas/calculadora_pyqt4.png)
Lo que interesa, el código:
Código
  1. # -*- coding: utf-8 -*-
  2. import sys
  3. from PyQt4 import QtCore, QtGui
  4.  
  5. class calculadora(QtGui.QWidget):
  6.    def __init__(self, parent=None):
  7. QtGui.QWidget.__init__(self, parent)
  8. self.setWindowTitle("Calculadora")
  9. self.resize(119, 145)
  10. self.temp=""
  11. self.igual = QtGui.QPushButton("=",self)
  12.        self.igual.setGeometry(90, 120, 31, 24)
  13. self.multiplica = QtGui.QPushButton("*",self)
  14. self.multiplica.setGeometry(0, 120, 31, 24)
  15.        self.connect(self.multiplica,QtCore.SIGNAL("clicked()"),self.multiplicar)
  16. self.clean = QtGui.QPushButton("AC",self)
  17. self.clean.setGeometry(30, 120, 31, 24)
  18.        self.connect(self.clean,QtCore.SIGNAL("clicked()"),self.clear)
  19. self.divide = QtGui.QPushButton("/",self)
  20.        self.connect(self.divide,QtCore.SIGNAL("clicked()"),self.dividir)
  21.        self.divide.setGeometry(0, 90, 31, 24)
  22.        self.connect(self.igual,QtCore.SIGNAL("clicked()"),self.resultado)
  23. self.resta = QtGui.QPushButton("-",self)
  24.        self.resta.setGeometry(0, 60, 31, 24)
  25.        self.connect(self.resta,QtCore.SIGNAL("clicked()"),self.restar)
  26. self.suma = QtGui.QPushButton("+",self)
  27. self.suma.setGeometry(0, 30, 31, 24)
  28.        self.connect(self.suma,QtCore.SIGNAL("clicked()"),self.sumar)
  29.        self.lineEdit = QtGui.QLineEdit(self)
  30.        self.lineEdit.setGeometry(QtCore.QRect(0, 0, 121, 25))
  31.        self.uno = QtGui.QPushButton("1",self)
  32.        self.connect(self.uno,QtCore.SIGNAL("clicked()"),self.inu)
  33.        self.uno.setGeometry(QtCore.QRect(30, 30, 31, 24))
  34.        self.dos = QtGui.QPushButton("2",self)
  35.        self.connect(self.dos,QtCore.SIGNAL("clicked()"),self.ind)
  36.        self.dos.setGeometry(QtCore.QRect(60, 30, 31, 24))
  37.        self.tres = QtGui.QPushButton("3",self)
  38.        self.connect(self.tres,QtCore.SIGNAL("clicked()"),self.intr)
  39.        self.tres.setGeometry(QtCore.QRect(90, 30, 31, 24))
  40.        self.cuatro = QtGui.QPushButton("4",self)
  41.        self.connect(self.cuatro,QtCore.SIGNAL("clicked()"),self.inc)
  42.        self.cuatro.setGeometry(QtCore.QRect(30, 60, 31, 24))
  43.        self.cinco = QtGui.QPushButton("5",self)
  44.        self.connect(self.cinco,QtCore.SIGNAL("clicked()"),self.inci)
  45.        self.cinco.setGeometry(QtCore.QRect(60, 60, 31, 24))
  46.        self.seis = QtGui.QPushButton("6",self)
  47.        self.connect(self.seis,QtCore.SIGNAL("clicked()"),self.ins)
  48.        self.seis.setGeometry(QtCore.QRect(90, 60, 31, 24))
  49.        self.nueve = QtGui.QPushButton("9",self)
  50.        self.connect(self.nueve,QtCore.SIGNAL("clicked()"),self.inn)
  51.        self.nueve.setGeometry(QtCore.QRect(90, 90, 31, 24))
  52.        self.ocho = QtGui.QPushButton("8",self)
  53.        self.connect(self.ocho,QtCore.SIGNAL("clicked()"),self.ino)
  54.        self.ocho.setGeometry(QtCore.QRect(60, 90, 31, 24))
  55.        self.siete = QtGui.QPushButton("7",self)
  56.        self.connect(self.siete,QtCore.SIGNAL("clicked()"),self.insi)
  57.        self.siete.setGeometry(QtCore.QRect(30, 90, 31, 24))
  58.        self.cero = QtGui.QPushButton("0",self)
  59.        self.cero.setGeometry(QtCore.QRect(60, 120, 31, 24))
  60.        self.connect(self.cero,QtCore.SIGNAL("clicked()"),self.ince)
  61.    def clear(self):
  62.      self.temp=""
  63.      self.lineEdit.setText("")
  64.    def restar(self):
  65.      self.temp+="-"
  66.      self.lineEdit.setText(self.temp)
  67.    def dividir(self):
  68.      self.temp+="/"
  69.      self.lineEdit.setText(self.temp)
  70.    def multiplicar(self):
  71.      self.temp+="*"
  72.      self.lineEdit.setText(self.temp)
  73.    def sumar(self):
  74. self.temp+="+"
  75. self.lineEdit.setText(self.temp)
  76.  
  77.    def resultado(self):
  78. if len(self.temp)>0:
  79.  final=eval(self.temp)
  80.  self.lineEdit.setText(str(final))
  81.  self.temp=str(final)
  82. else:
  83.  final=eval(str(self.lineEdit.text()))
  84.  print final
  85.  self.lineEdit.setText(str(final))
  86.  self.temp=str(final)
  87.    def inu(self):
  88. self.temp+="1"
  89. self.lineEdit.setText(self.temp)
  90.    def ind(self):
  91. self.temp+="2"
  92. self.lineEdit.setText(self.temp)
  93.    def intr(self):
  94. self.temp+="3"
  95. self.lineEdit.setText(self.temp)
  96.    def inc(self):
  97. self.temp+="4"
  98. self.lineEdit.setText(self.temp)
  99.  
  100.    def inci(self):
  101. self.temp+="5"
  102. self.lineEdit.setText(self.temp)
  103.  
  104.    def ins(self):
  105. self.temp+="6"
  106. self.lineEdit.setText(self.temp)
  107.  
  108.    def insi(self):
  109. self.temp+="7"
  110. self.lineEdit.setText(self.temp)
  111.  
  112.    def ino(self):
  113. self.temp+="8"
  114. self.lineEdit.setText(self.temp)
  115.  
  116.    def inn(self):
  117. self.temp+="9"
  118. self.lineEdit.setText(self.temp)
  119.  
  120.    def ince(self):
  121. self.temp+="0"
  122. self.lineEdit.setText(self.temp)
  123.  
  124. calc=QtGui.QApplication(sys.argv)
  125. dialogo=calculadora()
  126. dialogo.show()
  127. calc.exec_()
  128.  


Título: Re: [Código-PyQT4]Calculadora - JaAViEr
Publicado por: zZznewbiezZz en 6 Julio 2011, 23:28 pm
muy bueno!!!!!!!!!!!!!!!!!!!!!!!!!
pero perdona la ignorancia, PyQT4 es algo como pygtk?


Título: Re: [Código-PyQT4]Calculadora - JaAViEr
Publicado por: [Zero] en 6 Julio 2011, 23:35 pm
muy bueno!!!!!!!!!!!!!!!!!!!!!!!!!
pero perdona la ignorancia, PyQT4 es algo como pygtk?

Sí, pero mejor :).

Código:
http://qt.nokia.com/
Código:
http://www.riverbankcomputing.co.uk/software/pyqt/intro
Código:
http://www.pyside.org/

Saludos


Título: Re: [Código-PyQT4]Calculadora - JaAViEr
Publicado por: elhacker_carlos en 7 Julio 2011, 22:21 pm
Hola sabrias como se instala pyqt4 esque no me logro aclarar gracias.