Hola a todos !
Como le he vuelto a dar la vida a
mi PC. Instalé el Debian de nuevo, no podía faltar instalar el amado
QT4. Así que me propuse como práctica crear este mismo código Consola ~> [Python]Decimal a binario y su invero (http://rootcodes.com/pythondecimal-a-binario-y-su-inverso), que por cierto también pasé a la web ~> Binary Converter Online (http://0x5d.net.tf/binconverter). Esta vez en
PyQT4 primero les dejo el screenshot de como se ve:
(http://rootcodes.com/imagenes/Pantallazo-Bin%20to%20Dec%20|%200x5d.png)
Y Su código :
# -*- coding: utf-8 -*-
# Autor : 0x5d ~> JaAViEr
# Sitio Web ~> www.rootcodes.com
# Twitter ~> @0x5d
from PyQt4 import QtGui, QtCore
import sys
class testeo(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setWindowTitle("Bin to Dec | 0x5d")
self.label_binario = QtGui.QLabel("Binario :", self).setGeometry(2,15,59,17)
self.input_binario = QtGui.QLineEdit(self)
self.input_binario.setGeometry(60,10,230,27)
self.label_resultado = QtGui.QLabel("Resultado :", self).setGeometry(2,50,80,17)
self.input_salida = QtGui.QLineEdit(self)
self.input_salida.setGeometry(80,43,210,27)
self.input_salida.setReadOnly(True)
self.boton_limpiar = QtGui.QPushButton("Limpiar campos", self)
self.boton_limpiar.setGeometry(1,75,140,27)
self.boton_convertir = QtGui.QPushButton("Convertir", self)
self.boton_convertir.setGeometry(145,75,140,27)
self.connect(self.boton_limpiar, QtCore.SIGNAL("clicked()"), self.clear_inputs)
self.connect(self.boton_convertir, QtCore.SIGNAL("clicked()"), self.conversor)
def clear_inputs(self):
self.input_binario.setText("")
self.input_salida.setText("")
def conversor(self):
numero = str(self.input_binario.text())
t = 0
for i,h in zip(numero[::-1],range(0,len(numero))): t+=int(i)*2**int(h)
self.input_salida.setText(str(t))
app = QtGui.QApplication(sys.argv)
form = testeo()
form.show()
app.exec_()
Y Decimal a Binario:
(http://rootcodes.com/imagenes/Pantallazo-Dec%20to%20Bin%20|%200x5d.png)
Código ~>:
# -*- coding: utf-8 -*-
# Autor : 0x5d ~> JaAViEr
# Sitio Web ~> www.rootcodes.com
# Twitter ~> @0x5d
from PyQt4 import QtGui, QtCore
import sys
class testeo(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setWindowTitle("Dec to Bin | 0x5d")
self.label_binario = QtGui.QLabel("Decimal:", self).setGeometry(2,15,59,17)
self.input_binario = QtGui.QLineEdit(self)
self.input_binario.setGeometry(60,10,230,27)
self.label_resultado = QtGui.QLabel("Resultado :", self).setGeometry(2,50,80,17)
self.input_salida = QtGui.QLineEdit(self)
self.input_salida.setGeometry(80,43,210,27)
self.input_salida.setReadOnly(True)
self.boton_limpiar = QtGui.QPushButton("Limpiar campos", self)
self.boton_limpiar.setGeometry(1,75,140,27)
self.boton_convertir = QtGui.QPushButton("Convertir", self)
self.boton_convertir.setGeometry(145,75,140,27)
self.connect(self.boton_limpiar, QtCore.SIGNAL("clicked()"), self.clear_inputs)
self.connect(self.boton_convertir, QtCore.SIGNAL("clicked()"), self.conversor)
def clear_inputs(self):
self.input_binario.setText("")
self.input_salida.setText("")
def conversor(self):
resto = []
nuevo = [int(self.input_binario.text())]
while nuevo[-1]!=0:
resto.append(nuevo[-1]%2)
nuevo.append(nuevo[-1]/2)
s = ""
for i in resto[::-1]: s+="%s"%i
self.input_salida.setText(str(s))
app = QtGui.QApplication(sys.argv)
form = testeo()
form.show()
app.exec_()
Fuente : http://rootcodes.com/pyqt4binario-a-decimal-y-su-inverso/
Saludos, Javier.