Calcul de durée sous QT [Résolu]

Signaler
Messages postés
21
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
23 janvier 2013
-
Messages postés
21
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
23 janvier 2013
-
Bonsoir,
je suis débutante sur QT et je cherche à récupérer la durée(différence entre 2 dates); Pour ceci,j'ai insérée 2 objets(date/time edit)grace à QTdesigner et que j'ai réspéctivement nommé:dateEdit,et dateEdit_2
que je voudrais stockée dans une bdd,j'éssaie d'insérer dans une table contrat ces données ke j'ai récupérée de mes qlineedit:(je travaille sous Access)

QSqlQuery  q;
req="INSERT INTO contrat (CIN,date départ,date retour,prix,matricule) VALUES ('"+ui->cINLineEdit->text()+"','"+ui->dateEdit->text() +"','"+ui->dateEdit_2->text()+"','"+ui->prixPayerLineEdit->text()+"','"+ui->matricule->text() +"')";
 q.exec(req);



ensuite je voudrais récupérer les 2 champs dateEdit etdateEdit_2 pour calculer la durée
j'ai éssayé ceci mais ça plante :s:s

QDateTime T1;
T1= ui->dateEdit->textFromDateTime();



il m'affiche une érreur du type:
No matching function for call to 'QDateEdit::textFromDateTime'

Voila merci de répondre

14 réponses

Messages postés
21
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
23 janvier 2013

C bon ça compile
Merci pour ton aide

      QDateTime T1=ui->dateEdit->dateTime();
         QDateTime T2=ui->dateEdit->dateTime();

         T1.daysTo(T2);



comme ça je récupère la durée en jours :)
Messages postés
14738
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
3 juillet 2020
92
Hello,
Je ne comprend pas trop le lien entre ton histoire de calcul de "différence de date" (intervalle,quoi ) et ta bdd.
Dans tous les cas:
- QDateEdit::dateTime te permet de récupérer la date d'un QDateEdit
- QDateTime::secsTo() te permet de calculer le nombre de secondes entre 2 dates

@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
21
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
23 janvier 2013

Salut,

Au fait je voudrais insérer mes dates dans une base de donnée Access et puis calculer la durée(l'intervalle :))

J'ai refait ce code
QDateEdit::QDateTimeEdit T1;
     T1= ui->dateEdit->textFromDateTime();



mais il me réenvoie toujours la méme érreur

No matching function for call to 'QDateEdit::textFromDateTime'
Messages postés
14738
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
3 juillet 2020
92
Pourquoi passer par un QDateTimeEdit?
De plus, la méthode textFromDateTime() est protected, donc non accessible.
Si tu veux avoir la string correspondant à la date courante du QDateEdit, il faut plutôt faire:
QString dateString = tonDateEdit.dateTime.toString(tonFormat)

La doc

@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
21
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
23 janvier 2013

Merci pour la réponse seulement il ne reconnait pas le(toString) après le dateTime,j'ai alors éssayé le code suivant qui a l'air de fonctionner
QString dateString1 = ui->dateEdit->date().toString();
      QString dateString2 = ui->dateEdit_2->date().toString();




Maintenant comment je fais pour calculer la différence entre les 2 dates

Merciii de répondre
Messages postés
14738
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
3 juillet 2020
92
Maintenant comment je fais pour calculer la différence entre les 2 dates

Tu regardes ma 1ère réponse?


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
14738
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
3 juillet 2020
92
Attention! Ne pas se baser sur les QString mais bien sur les QDateTime...


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
21
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
23 janvier 2013

J'ai éssayé ce code mais ça marche pas:
QDateTime::secsTo(dateString1,dateString2);
Messages postés
14738
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
3 juillet 2020
92
Avant d'essayer...si tu lisais la doc!
Normal que ça ne marche pas...Je te renvoie à la doc de la méthode
QDateTime::secsTo()

@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
14738
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
3 juillet 2020
92
Tu as en plus un exemple...tu devrais donc y arriver maintenant...


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
14738
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
3 juillet 2020
92
N'oublie pas de cliquer sur "Réponse Acceptée" pour fermer le sujet ...


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
21
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
23 janvier 2013

Stp je cherche à afficher la valeur de la durée dans un Qlineedit( ui->totalLineEdit)

j’essaie ce code ci mais il y'a un problème de conversion

int dur=  T1.daysTo(T2);


          ui->totalLineEdit->setText(dur);




Messages postés
14738
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
3 juillet 2020
92
doc
Merci de lire la doc avant de poster...

@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
21
Date d'inscription
lundi 2 août 2010
Statut
Membre
Dernière intervention
23 janvier 2013

Ok daccord,je vais y chercher avant merci en tt cas pour la durée