[Código-PyQT4]Calculadora por secuencias - JaAViEr(0x5d)

Iniciado por 0x5d, 25 Diciembre 2011, 01:06 AM

0 Miembros y 1 Visitante están viendo este tema.

0x5d

Hola, buen día.

  En esta oportunidad vengo a enseñarles un código bien sencillo, pero que por consola llevaría unas 3 líneas, por lo que preferí pasarlo al amigable QT4.

  Trata de una calculadora por secuencia, por lo que debemos insertar la operación en el primer QLineEdit, para ser esta resuelta. Si se inserta una operación inválida, el programa lo hará saber en el cuadro del resultado, si no estoy siendo claro, les dejo un screenshot más representativo:



Y el código:
Código ("python") [Seleccionar]

# -*- coding: utf-8 -*-
"""
Autor: 0x5d - JaAViEr
Twitter: @0x5d
"""
import sys
from PyQt4 import QtCore, QtGui

class secuencia(QtGui.QWidget):
  def __init__(self, parent=None):
    QtGui.QWidget.__init__(self, parent)
    self.resize(411, 60)
    self.setWindowTitle("Calculadora de secuencias :: JaAViEr(0x5d)")
    self.input_secuencia = QtGui.QLineEdit(self)
    self.input_secuencia.setGeometry(80, 5, 321, 21)
    self.label_secuencia = QtGui.QLabel("Secuencia", self)
    self.label_secuencia.setGeometry(5, 2, 71, 31)
    self.boton_ver = QtGui.QPushButton("Ver", self)
    self.boton_ver.setGeometry(323, 30, 81, 21)
    self.input_resultado = QtGui.QLineEdit(self)
    self.input_resultado.setGeometry(80, 30, 240, 21)
    self.input_resultado.setReadOnly(True)
    self.label_resultado = QtGui.QLabel("Resultado", self)
    self.label_resultado.setGeometry(5, 31, 71, 21)
    self.connect(self.boton_ver, QtCore.SIGNAL("clicked()"), self.ejecutar)
   
  def ejecutar(self):
    try:
      self.resultado = str(self.input_secuencia.text())
      self.input_resultado.setText(str(eval(self.resultado)))
    except:
      self.input_resultado.setText(QtGui.QApplication.translate("self", "Operación inválida", None, QtGui.QApplication.UnicodeUTF8))
app = QtGui.QApplication(sys.argv)
secuencia = secuencia()
secuencia.show()
app.exec_()


Espero que sea de su agrado :P.
¡ Creo que ya se están notando mis vacaciones !

Fuente: http://rootcodes.com/pyqt4calculadora-por-secuencia/

Saludos.
¡ SIGUEME EN TWITTER -> @JavierEsteban__ !

leogtz

Perfecto, qué bonito es Qt :D

Yo hice algo parecido pero desde 0, un analizador léxico, un analizador sintáctico descendente y por último el analizador semántico, es bastante compleja la cosa para algo tan sencillo.


Saludos.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

0x5d

Cita de: Leo Gutiérrez. en 26 Diciembre 2011, 20:29 PM
Perfecto, qué bonito es Qt :D

Yo hice algo parecido pero desde 0, un analizador léxico, un analizador sintáctico descendente y por último el analizador semántico, es bastante compleja la cosa para algo tan sencillo.


Saludos.
Si, el QT4 es bien guapo, atractivo visual, es lo que me gusta de él.
¡ SIGUEME EN TWITTER -> @JavierEsteban__ !