IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

QDateTimeEdit to QString


Sujet :

Qt

  1. #1
    Invité
    Invité(e)
    Par défaut QDateTimeEdit to QString
    Bonjour,

    Voila, comme est indiqué dans mon titre j'aimerai convertir le contenu d'un QDateTimeEdit en QString !

    J'ai lu dans le manuel de Qt qu'il existait une fonction permettant d'effectuer cette convertion pour des QDateTime en string:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    QString toString ( Qt::DateFormat f = Qt::TextDate ) const 
    QString toString ( const QString & format ) const
    Mais le problème c'est que je ne comprend pas comment marche cette fonction

    Je pense qu'il faudrait recupérer déja le contenu du QDateTimeEdit et utiliser cette fonction pour pouvoir le transformer en QStrin

    Si quelqu'un pourrait m'éclairer sur le sujet ce serait fort sympathique

    Merci d'avance

  2. #2
    Membre confirmé

    Inscrit en
    Octobre 2007
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 234
    Points : 644
    Points
    644
    Par défaut
    Tu récupères le QDateTime de ton QDateTimeEdit par dateTime().
    Ensuite tu utilises une des deux fonction que tu as cité.
    La première tu spécifies le format avec un truc comme "dd/MM/yyyy hh:mm:ss".
    La seconde tu as le choix de format prédéfinis. Regarde la doc pour les détails des formats.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Re,

    Donc voila j'ai essayé vos astues mais le problème c'est que je n'arrive pas a trouver la bonne syntaxe !

    J'ai essayé plusieurs façon mais sans résultat !

    Voici ce que j'ai en ce moment et comme erreur sa me dit dd n'est pas déclaré, ce que je comprend tout a fait car le parametre que j'ai passé a toString me parait fort douteux !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    QDateTime a=dateTimeEdit2->dateTime();
    QString b=a.toString (& dd.MM.yyyy);

  4. #4
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    b=a.toString ("dd.MM.yyyy");

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Voila la solution que vous m'avez proposée n'a pas l'air de fonctionner

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    QDateTime a=dateTimeEdit2->dateTime();
        QString b=a.toString ("dd.MM.yyyy");
        cout<<b<<endl;
        lineEdit1->setText(b);
    Rien ne s'affiche ni dans la lineEdit ni en cout !
    Dernière modification par yan ; 14/03/2008 à 13h27.

  6. #6
    Membre confirmé

    Inscrit en
    Octobre 2007
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 234
    Points : 644
    Points
    644
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    QDateTime a=dateTimeEdit2->dateTime();
    QString b=a.toString ("dd.MM.yyyy");
    cout << b.toStdString() << endl;
    lineEdit1->setText(b);
    Ce code marche c'est sûr, avec la modification de la ligne cout (d'ailleurs ça compile pas sans chez moi). Es-tu certain qu'il est bien appelé ?
    Pour cout, si tu es sous windows, il ne faut pas oublier d'ajouter CONFIG += console dans le .pro

  7. #7
    Invité
    Invité(e)
    Par défaut
    Désolé mais chez moi sa ne marche pas ! Je vais essayer de chercher tout seul et je posterai en consequence !

    Merci de votre aide

  8. #8
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 224
    Points : 75
    Points
    75
    Par défaut
    Tu vas tester ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    QDate dateDuJour = QDate::currentDate();
    QString dateAffichee = dateDuJour.toString("d.MM.yy");
    cout << dateAffichee.toStdString() << endl;
    lineEdit1->setText(dateAffichee);

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Lorsque je teste le bout de code que tu m'as fourni le compilateur me dit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error: ‘class QString’ has no member named ‘toStdString’

  10. #10
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Salut,
    remplace
    toStdString() qui est du Qt4 par ascii ()

  11. #11
    Invité
    Invité(e)
    Par défaut
    Merci à tous ceux qui m'ont aider. Grâce à votre patience et vos compétences je peux maintenant, récupérer la date système en 4 lignes de codes ( avant j'avai 1 classe de 30-40 lignes pour récupérer la date et l'heure système, 35 lignes de codes économisées) de plus je peux aussi récupérer la date choisie par un QDateTimeEdit

    Voici le code pour récupérer la date système :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    QDate dateDuJour = QDate::currentDate();
    QString dateAffichee = dateDuJour.toString("d.MM.yy");
    cout << dateAffichee.ascii() << endl;
    lineEdit1->setText(dateAffichee);
    Voici le code pour récupérer la date sélectionnée dans un QDateTimeEdit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    QDateTime a=dateTimeEdit1->dateTime();
    QString b=a.toString ("dd.MM.yyyy");
    cout << b.ascii() << endl;
    lineEdit1->setText(b);
    Encore merci à tous
    Dernière modification par Invité ; 17/03/2008 à 10h06.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme QSTRING sous QT a la compil
    Par superman33 dans le forum Qt
    Réponses: 1
    Dernier message: 04/10/2007, 10h29
  2. Conversion QString en char*
    Par Stage2006 dans le forum Qt
    Réponses: 5
    Dernier message: 12/06/2007, 17h14
  3. Conversion std::string QString
    Par krokmitaine dans le forum Qt
    Réponses: 15
    Dernier message: 24/11/2006, 10h14
  4. cout avec QString
    Par matrox dans le forum SL & STL
    Réponses: 4
    Dernier message: 18/05/2006, 05h26
  5. conversion en QString
    Par transistor49 dans le forum C++
    Réponses: 5
    Dernier message: 08/03/2005, 13h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo