Qt en Español

Qt en Español es una comunidad de usuarios para aprender a Programar usando las librerias Qt

Buscar
 
 

Resultados por:
 


Rechercher Búsqueda avanzada

Últimos temas
» Desaparecen objetos del formulario al usar showMaximized()
Sáb Sep 13, 2014 9:54 pm por ljimenez29

» visivilidad de controles
Dom Mayo 18, 2014 5:04 pm por solitarywolf

» Error QT (y no sé que más poner ¬¬)
Jue Sep 26, 2013 4:02 pm por Anónimo

» QT, VTK en VS 2008 C++
Jue Abr 11, 2013 5:19 pm por monicadiaz

» [Ayuda]Programa en PyQt4 en modo Pantalla completa
Sáb Mar 30, 2013 8:56 pm por fortil

» SIGNAL y SLOT
Sáb Mar 02, 2013 5:11 pm por loloqt

» Qt creator 5.0.1 en Windows 8...."Qt creator needs a compiler set up to build. Configure a compiler in the kit options"
Miér Feb 27, 2013 4:23 pm por caliche

» mi aplicacion no me lee la base de datos
Jue Oct 18, 2012 1:55 pm por jldiaz

» QT.Para G19 de Logitech
Dom Oct 14, 2012 3:00 am por novax1

Navegación
 Portal
 Índice
 Miembros
 Perfil
 FAQ
 Buscar
Compañeros
Crear foro
Sondeo

Que nombre te gustaria que se llamara el foro?

27% 27% [ 6 ]
18% 18% [ 4 ]
0% 0% [ 0 ]
55% 55% [ 12 ]

Votos Totales : 22


No estás conectado. Conéctate o registrate

Reloj Digital (Traduccion Parcial)

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

1 Reloj Digital (Traduccion Parcial) el Sáb Dic 26, 2009 10:19 pm

El ejemplo Reloj digital muestra cómo utilizar QLCDNumber para mostrar un número con LCD-como dígitos.


Este ejemplo también muestra cómo QTimer se puede utilizar para actualizar un widget a intervalos regulares.

Definición de clase relojdigital

La clase relojdigital proporciona un widget de reloj muestra la hora, con horas y minutos separados por dos puntos al parpadear. Nos QLCDNumber subclase y aplicar una ranura privada llamada tiempo() para actualizar la visualización del reloj:

Código:
class relojdigital : public QLCDNumber
{
    Q_OBJECT

public:
    relojdigital(QWidget *parent = 0);

public slots:
    void tiempo();
};

DigitalClock clase de implementación

Código:
relojdigital::relojdigital(QWidget *parent)
    : QLCDNumber(parent)

{
    setSegmentStyle(Filled);

    QTimer *temporalizador = new QTimer(this);
    connect(temporalizador, SIGNAL(timeout()), this, SLOT(tiempo()));
    temporalizador->start(1000);

    tiempo();

    setWindowTitle("Reloj Digital");
    resize(150, 60);
}

En el constructor, en primer lugar cambiar el aspecto de los números de LCD. El QLCDNumber::Filled estilo segmentos planteadas produce rellena con el color de primer plano (típicamente negro). Hemos creado también un segundo temporizador para hacer un seguimiento de la hora actual, y conectar timeout() señal para el slot private tiempo() ranura de modo que la pantalla se actualiza cada segundo. Entonces, llamamos a la tiempo() de franjas horarias, sin esta convocatoria, habría un segundo de retraso en el inicio antes de que se muestra la hora.

Código:
void relojdigital::tiempo()
{
    QTime tiempo = QTime::currentTime();
    QString texto = tiempo.toString("hh:mm");
    if ((tiempo.second() % 2) == 0)
        texto[2] = ' ';
    display(texto);
}

El tiempo() ranura se llama cuando la visualización del reloj necesita ser actualizado.

La hora actual se convierte en una cadena con el formato "hh: mm". Cuando QTime::second() es un número par, los dos puntos de la cadena es sustituida por un espacio. Esto hace que los dos puntos aparecen y desaparecen cada segundo.

Por último, hacemos un llamamiento QLCDNumber::display() para actualizar el widget.


Digital Clock Example



Última edición por Lycus HackerEmo el Sáb Dic 26, 2009 10:26 pm, editado 1 vez

Ver perfil de usuario http://qt-espanol.forosactivos.net

2 Re: Reloj Digital (Traduccion Parcial) el Sáb Dic 26, 2009 10:23 pm

main.cpp

Código:
#include <QtGui/QApplication>
#include "relojdigital.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    relojdigital reloj;
    reloj.show();
    return a.exec();
}

relojdigital.h

Código:
#ifndef RELOJDIGITAL_H
#define RELOJDIGITAL_H

#include <QLCDNumber>

class relojdigital : public QLCDNumber
{
    Q_OBJECT

public:
    relojdigital(QWidget *parent = 0);

public slots:
    void tiempo();
};

#endif // RELOJDIGITAL_H

relojdigital.cpp

Código:
#include <QtGui>
#include "relojdigital.h"

relojdigital::relojdigital(QWidget *parent)
    : QLCDNumber(parent)

{
    setSegmentStyle(Filled);

    QTimer *temporalizador = new QTimer(this);
    connect(temporalizador, SIGNAL(timeout()), this, SLOT(tiempo()));
    temporalizador->start(1000);

    tiempo();

    setWindowTitle("Reloj Digital");
    resize(150, 60);
}

void relojdigital::tiempo()
{
    QTime tiempo = QTime::currentTime();
    QString texto = tiempo.toString("hh:mm");
    if ((tiempo.second() % 2) == 0)
        texto[2] = ' ';
    display(texto);
}

Ver perfil de usuario http://qt-espanol.forosactivos.net

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

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