Ventanas con QT4

Ver el tema anterior Ver el tema siguiente Ir abajo

Ventanas con QT4

Mensaje por Admin el Miér Abr 22, 2015 12:44 am

Ejemplo de ventana sencilla con 6 botones, un lcd, y un contador, echo con QT4



Código:

# -*- coding: utf-8 -*-

import sys
from PyQt4 import QtGui, QtCore


class MainWindow(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        #Asigna el tamano de la ventana
        self.resize(255, 240)

        #Crea un nombre a la ventana
        self.setWindowTitle('Ejemplo 1-2')
        widget = QtGui.QWidget()

        #Crea el LCD
        self.lcdNumber = QtGui.QLCDNumber(widget)
        self.lcdNumber.setGeometry(QtCore.QRect(65, 20, 131, 71))
        self.lcdNumber.setProperty("value", 0.0)
        self.lcdNumber.setObjectName("lcdNumber")

        #Crea el boton Salir
        self.pushButton = QtGui.QPushButton('Salir', widget)
        self.pushButton.setObjectName("pushButton")
        self.pushButton.setGeometry(QtCore.QRect(10, 200, 75, 23))
        #Conecta el boton salir]
        self.connect(self.pushButton, QtCore.SIGNAL("clicked()"), quit)

        #Crea el boton Incrementar
        self.pushButton_2 = QtGui.QPushButton('Inrementar', widget)
        self.pushButton_2.setObjectName("pushButton_2")
        self.pushButton_2.setGeometry(QtCore.QRect(10, 120, 75, 23))
        #Conecta el boton a Incrementalcd
        self.connect(self.pushButton_2, QtCore.SIGNAL('clicked()'), self.Incrementalcd)

        #Crea el boton del Decrementar
        self.pushButton_3 = QtGui.QPushButton('Decrementar', widget)
        self.pushButton_3.setObjectName("pushButton_3")
        self.pushButton_3.setGeometry(QtCore.QRect(90, 120, 75, 23))
        #Conecta el boton a Decrementalcd
        self.connect(self.pushButton_3, QtCore.SIGNAL('clicked()'), self.Decrementalcd)

        #Crea el boton del Contar
        self.pushButton_4 = QtGui.QPushButton('Contar+', widget)
        self.pushButton_4.setObjectName("pushButton_4")
        self.pushButton_4.setGeometry(QtCore.QRect(170, 120, 75, 23))
        #Conecta el boton a ActivaTimer
        self.connect(self.pushButton_4, QtCore.SIGNAL('clicked()'), self.ActivaTimerSuma)

        #Crea el boton del Parar
        self.pushButton_5 = QtGui.QPushButton('Parar', widget)
        self.pushButton_5.setObjectName("pushButton_5")
        self.pushButton_5.setGeometry(QtCore.QRect(170, 145, 75, 23))
        #Conecta el boton a ParaTimer
        self.connect(self.pushButton_5, QtCore.SIGNAL('clicked()'), self.ParaTimer)

        #Crea el boton del Contar
        self.pushButton_6 = QtGui.QPushButton('Contar-', widget)
        self.pushButton_6.setObjectName("pushButton_6")
        self.pushButton_6.setGeometry(QtCore.QRect(170, 170, 75, 23))
        #Conecta el boton a ActivaTimer
        self.connect(self.pushButton_6, QtCore.SIGNAL('clicked()'), self.ActivaTimerResta)

        #Se definen las variables
        self.Contador = 0
        self.incrementa = 0

        #Uso de QBasicTimer
        self.timer = QtCore.QBasicTimer()

        #widget.setLayout(grid)
        self.setCentralWidget(widget)

#DEF de incremento
    def Incrementalcd(self):
        self.Contador = self.Contador + 1
        self.lcdNumber.setProperty("value", self.Contador)

#DEF de Decremento
    def Decrementalcd(self):
        self.Contador = self.Contador - 1
        self.lcdNumber.setProperty("value", self.Contador)

#DEF Activa timer incrementa
    def ActivaTimerSuma(self):
        self.incrementa=1
        self.timer.start(10,self)

#DEF Activa timer decrementa
    def ActivaTimerResta(self):
        self.incrementa=0
        self.timer.start(10,self)

#DEF Para timer
    def ParaTimer(self):
        self.timer.stop()

#funcion asociada al timer.
    def timerEvent(self, event):
        if self.incrementa==1:
            self.Contador = self.Contador + 1
        else:
            self.Contador = self.Contador - 1
        self.lcdNumber.setProperty("value", self.Contador)

if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    main = MainWindow()
    main.show()
    sys.exit(app.exec_())

avatar
Admin
Admin

Mensajes : 6
Fecha de inscripción : 21/04/2015
Edad : 38
Localización : Buenos Aires, Argentina

http://pythonargentina.foro.ag

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.