Salut tous le monde ...!
svp je suis un débutant en matière d'utilisation de la bibliothèque Qt ... cependant, je suis en train de travailler sur un projet de création d'horloge..
le truc consiste à créer une petite application capable de capturer l'heure du système et après prendre le relais pour l'incrémentation des secondes (les minutes, les heures .... en conséquence). J'ai créé l'algo de l'incrémentation et je l'ai testé sous console, il marche super bien... Maintenant je suis passé à créer une interface graphique avec Qt 4.4
Bon mon idée c'est d'afficher tout simplement un QString comportant l'heure (HH::MM::SS) sous forme de chaine de caractères via un QLabel avec le setText(QString &text). La chaine de caractere, quant à elle, est préparée par une aure classe (la même que j'ai utilisé avec la console, donc elle marche).
Je fais la capture de l'heure du système, je l'affiche via ce QLabel, puis je change le contenu du texte affiché par ce QLabel au bout de chaque seconde, pour ceci j'utilise un slot que j'ai créé et le signalavec la fixation de l'intervalle à 1s.
Code : Sélectionner tout - Visualiser dans une fenêtre à part QTimer::timeout()
Pour etre plus concret, voilà des bouts de mon code :
..... (ce code fait partie du constructeur de la fenetre que je lance et qui hérite de QWidget)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 //Réglage et lancement du signal timer timer = new QTimer(this); timer->setInterval(1000); // équivalent à un intervalle d'une seconde timer->start(); QObject::connect(timer, SIGNAL(timeout()), this, SLOT(Tic()));
//tempsAffiche est le QLabel, Affiche est la méthode qui prépare le QString de l'heure à chaque fois après incrémentation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 void Horloge::Tic()//La définition du slot { Evolue(); QString str = Affiche(Annee,Mois,jour,Heures,Minutes,Secondes); tempsAffich->setText(str); }
// Evolue() est la méthode qui incrémente.
Après tous ceci, je compile sans aucune erreurs affichées, mais au moment du lancement du .exe j'ai la grande surprise d'avoir l'erreur suivante (sous forme de message d'erreur windows :
" This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information "
Je clique sur Ok, et l'application ne se lance pas... je suis sous windows vista version Ultimate. et j'utilise code::blocks comme IDE.
SVP aidez moi (je m'excuse si mon message est peinible à lire de par sa longueur, mais le problème est assez complexe je crois)
Merci
Partager