Vamos a ver como crear hilos en C\C++ usando QT, y como practica vamos a hacer un cronometro, este ejemplo se ha realizado usando:
Ubuntu 10.04
QDevelop
QTDesigner 4
Lo primero que vamos a hacer es crearnos un nuevo proyecto usando QDevelop, el cual llamaremos hilosQT, luego vamos a fuentes -> clic derecho -> agregar, y vamos a crear una clase para el hilo, la llamaremos hilo.cpp y vemos que también nos crea la cabecera hilo.h
Ahora para editar nuestra interfaz gráfica nos vamos a apoyar en QTDesginer, hacemos doble clic en el archivo: ui/mainwindow.ui y se nos va a abrir QTDesigner, he añadido un botón de inicio, y un widget tipo "lcd display", al final me quedo así:
Ahora regresamos a QDevelop para programar el hilo y los eventos. Editamos el archivo hilo.cpp de manera que se nos cree un ciclo infinito con una pausa de 1 segundo para simular el reloj,
void hilo::run(){
while(1){
if(s==59)
{
s=0;
m++;
}
if(m==59)
{
m=0;
h++;
}
s++;
ventana->lcdNumber->setProperty("intValue", s);
msleep(1000);
}
Editamos la cabecera, como vemos en el constructor le pasamos nuestra "gui" para poder actualizar el display.
class hilo : public QThread
{
public:
void run();
hilo(MainWindowImpl *gui);
MainWindowImpl *ventana;
int h, m ,s;
};
Para agregar el evento del boton, vamos a crear un metodo que se llame "iniciarCronometro()" y lo definimos en la cabecera de nuestra ventana principal, en el archivo fuente le ponemos el evento al boton y definimos las acciones del metodo:
hilo *crono;
MainWindowImpl::MainWindowImpl( QWidget * parent, Qt::WFlags f)
: QMainWindow(parent, f)
{
setupUi(this);
connect(pushButtonIniciar, SIGNAL(clicked()), this, SLOT(iniciarCronometro()));
}
void MainWindowImpl::iniciarCronometro()
{
crono = new hilo(this);
crono->start();
}
Ahora lo interesante, vamos a probarlo!!.. si todo va bien nos debería quedar así, si queréis el código fuente puedo compartirlo!..
34 comentarios:
29 de octubre de 2010, 19:28
Hola! me parece un muy buen aporte!! je je me podrías enviar el código fuente?? mi correo es keyhidalgob@hotmail.es
Gracias ;-)
30 de octubre de 2010, 9:43
enviado!
saludos
30 de octubre de 2010, 11:03
Gracias amigo, de verdad que con personas como vos se hace más fácil nuestro trabajo! ;) seguí así.. ha sido de mucha utilidad para mí
Je je muchísimas gracias
12 de febrero de 2011, 16:00
Hola,
muy interesante, podrías mandarme el codigo fuente ejdoliva@yahoo.es. Muchas gracias
16 de febrero de 2011, 21:10
perdon por la tardanza.. ya te lo envie (Y)
25 de febrero de 2011, 5:25
Hola! Me interesaria mucho el código. Mi mail es teresaguiteras@gmail.com
Muchas gracias!
25 de febrero de 2011, 9:42
listo, ya te lo envie,
saludos
22 de marzo de 2011, 16:49
Gracias por tan interesante información, la verdad es que también me interesa el código, podrías enviármelo (daricktq@hotmail.com) o publicarlo.
Gracias
22 de marzo de 2011, 22:16
enviado!
saludos
1 de mayo de 2011, 14:13
Hola excelente aporte me podrías facilitar el código ???
josed43@gmail.com
Gracias por tu aporte excelente trabajo desde hace tiempo quería hacer esto.
3 de mayo de 2011, 21:16
perdon por la demora, ya te lo envie,
saludos
4 de mayo de 2011, 8:55
Hola!
Me serviría de gran ayuda el código, ando un poco perdido...
Mi correo es auca@alumni.uv.es
Gracias
4 de mayo de 2011, 9:07
ya te lo envie, saludos
26 de mayo de 2011, 6:36
podrias enviarme el codigo fuente? piero89@gmail.com gracias de antemano
26 de mayo de 2011, 18:54
listo!..
2 de junio de 2011, 8:53
huy excelente aporte, tengo una pregunta, como se plantea la velocidad del conteo, o esta es por defecto?.... si me puedes facilitar el codigo, te lo agradezco...... pipeospina90@hotmail.com
7 de junio de 2011, 9:14
enviado, saludos
17 de julio de 2011, 21:35
excelente aporte podrias enviarme el codigo? alexisj.gutierrezf@gmail.com
5 de octubre de 2011, 5:05
Hola. Estoy trabajando con hilos en Qt y me vendría bien el código para ver como lo has hecho. Me lo podrias enviar a nomwise@hotmail.com
Gracias y buen aporte!!!
5 de octubre de 2011, 8:01
ya te lo envie,
Saludos!
12 de octubre de 2011, 8:51
me puedes enviar el código a j9juliof@gmail.com ? Quiero entender bien lo de los hilos. Gracias.
29 de octubre de 2011, 13:23
Hey! me gustaria tener el codigo para hacer mis pruebas academicas... Me lo envias por favor?
baron376@gmail.com
29 de octubre de 2011, 15:39
listo
3 de noviembre de 2011, 14:45
Amigo mi correo es alchro_03@hotmail.com, podrias enviarme el codigo fuente? muchas gracias
7 de noviembre de 2011, 12:49
Hola puedes enviarme el codigo a josephcampos91@gmail.com
gracias de ante mano muy buen ejemplo
13 de diciembre de 2011, 12:00
Hola Ces . una pregunta yo ya tengo mi programa creado un juego llamado frogger . i pregunta es como poner un cronometro en el . no puedo usar la opcion desing. gracias
16 de junio de 2012, 17:24
Buenas! muy bueno este aporte. estoy tratando de hacerlo pero me dan algunos errores (de mi propio codigo) sera que me podrias enviarlo a mi correo y comparo a ver que puede estar saliendo mal? jesus.ricupero@gmail.com
4 de julio de 2012, 14:45
tubarbarito@gmail hermano excelente aporte sera que me mandas el codigo te lo agradeceria enormemente Dios te bendiga...
16 de agosto de 2012, 14:06
hola.. me parecio muy interesante..
y estoy aprendiendo QT ahora, y me preguntaba si me puedes enviar el codigo fuente a mi correo
paname_55@hotmail.com
gracias.. :)
15 de noviembre de 2012, 17:08
Hola! es un gran aporte, me podrías enviar el código fuente?? mi correo es tigger_eder@hotmail.com
Gracias
21 de agosto de 2013, 12:27
hola excelente trabajo puedes enviar el codigo ami correo, es:
francisco.marquez@upaep.edu.mx
gracias
6 de enero de 2015, 16:31
Gracias por tu ayuda.
Podrias ayudarme enviandome el codigo; mi direccion : dhmartillo@hotmail.com
Saludos.
8 de noviembre de 2015, 18:25
excelente aportacion solo un gran gran favor si me puedes proporcionar tu codigo mi correo es ebedel.hm@gmail.com
15 de abril de 2018, 10:06
podrian eviar el codigo si aun lo tienes amigo, porfa
mi correo es
whiskas6451@gmail.com
Publicar un comentario