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

Discussion :

Valeur de QDateEdit

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2012
    Messages : 36
    Par défaut Valeur de QDateEdit
    Bonjour,

    Dans mon application, j'ai un champ date au format QDateEdit.

    Lors de l'ouverture de mon application, je souhaiterais que ce champ ne soit pas rempli par défaut.

    Si je l'initialise avec "new QDateEdit()", il est renseigné par défaut avec la date par défaut de Qt : 01/01/2000.
    Si je l'initialise avec "new QDateEdit(QDate::currentDate())", il est bien renseigné par défaut avec la date du jour.

    Comment faire pour que mon champ date soit vide ou renseigné avec --/--/---- lors de l'ouverture de mon application ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    J'ai cherché rapidement, et apparemment, ce ne serait pas possible "par défaut" dans Qt (càd qu'il n'y aurait pas de méthode toute faite pour le faire facilement).
    Par contre, cette méthode là semblerait fonctionner:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dateTimeEdit = QDateTimeEdit();
    lineEdit = dateTimeEdit.findChild(QLineEdit);
    lineEdit.setText("");
    Elle consiste à récupérer le QLineEdit qui compose ton QDateTimeEdit et de l'effacer "à la main".
    A partir de là, tu dois également pouvoir y mettre le texte que tu veux.


    Source: http://www.riverbankcomputing.com/pi...ry/021753.html
    Dernière modification par Invité ; 04/01/2013 à 11h16. Motif: ";" oubliés dans le code

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2012
    Messages : 36
    Par défaut
    J'ai essayé d'adapter le code suivant à mon propre code :
    dateTimeEdit = QDateTimeEdit()
    lineEdit = dateTimeEdit.findChild(QLineEdit)
    lineEdit.setText("")
    Voici la déclaration de la variable QDateEdit dans mon fichier mainwindow.h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QDateEdit *PatientDateNaissance;
    Le code dans mainwindow.cpp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PatientDateNaissance = new QDateEdit(QDate::currentDate());
    QLineEdit lineEdit = PatientDateNaissance.findChild(QLineEdit);
    lineEdit.setText("--/--/----");
    Voici les 2 erreurs à la compilation :
    mainwindow.cpp:71: erreur : request for member 'findChild' in '((MainWindow*)this)->MainWindow:atientDateNaissance', which is of non-class type 'QDateEdit*'
    mainwindow.cpp:71: erreur : expected primary-expression before ')' token

    Quel est le problème ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    PatientDateNaissance est un pointeur dans ton code, ce serait donc plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PatientDateNaissance->findChild(QLineEdit);

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2012
    Messages : 36
    Par défaut
    En indiquant le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PatientDateNaissance = new QDateEdit(QDate::currentDate());
    QLineEdit lineEdit = PatientDateNaissance->findChild(QLineEdit);
    lineEdit.setText("");
    Je n'ai plus qu'une seule erreur sur la 2ème ligne, pourquoi ?
    erreur : expected primary-expression before ')' token

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

    La méthode findChild est de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    template<typename T>
    T QObject::findChild ( const QString & name = QString() ) const
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    QLineEdit *lineEdit = PatientDateNaissance->findChild<QLineEdit*>();
    lineEdit->setText("");

Discussions similaires

  1. QSpinBox ou QDateEdit : gestion des valeurs NULL
    Par Dr FMeuuh dans le forum Qt
    Réponses: 6
    Dernier message: 07/04/2014, 11h11
  2. récupérer la valeur du 2ème champ dans un DBLookUpListBox
    Par jakouz dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/07/2004, 16h45
  3. récupérer la valeur de sortie d'un thread
    Par jakouz dans le forum Langage
    Réponses: 3
    Dernier message: 31/07/2002, 11h28
  4. [XSLT]position d'un element de valeur specifique
    Par squat dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 25/07/2002, 16h42
  5. Réponses: 2
    Dernier message: 22/07/2002, 18h02

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