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
# -*- 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 .
¡ Creo que ya se están notando mis vacaciones !
Fuente: http://rootcodes.com/pyqt4calculadora-por-secuencia/
Saludos.