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 :

[Qt 4.7] QDateEdit : un phénomène inexpliqué


Sujet :

Qt

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [Qt 4.7] QDateEdit : un phénomène inexpliqué
    Bonsoir,

    J'ai Qt 4.7 et cela fait environ une semaine que je bataille sur un problème et j'ai réussi à le contourner sans pour autant tout comprendre.

    Laissez-moi vous exposer déjà le décor : donc mon programme dispose d'une dateedit nommée dateEdit et d'un dialog nommé dlgs : le principe est basé sur la sauvegarde.

    J'ai cette fonction "signal et slot" quand la date change (j'ai simplifié le code au maximum) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void MainWindow::on_dateEdit_dateChanged(QString newdate)
    {
    (...)
    if (/*le nom de sauvegarde n'est pas une chaîne de caractères vide*/)
        // alors on sauvegarde le travail avec ce nom avant d'effacer les données
    else // sinon si c'est une chaine vide
        dlgs.exec(); // on ouvre le dialogue de sauvegarde pour sauvegarder les données de l'ancienne date avant d'effacer ces dernières
    // après, une fois le travail sauvegardé (ou non), on efface les données
    (...)
    }
    Au final quand je passe manuellement de Décembre à Novembre 2013 les mois défilent ensuite automatiquement jusqu'à Janvier 2013 (même que ça marque "QDialog::exec() recursive call" : normal puisque qu'il change de date tout seul). De plus les données sont effacées avant même que j'entre et que je valide le nom de sauvegarde (pendant que la dateedit s'affole).

    Alors que moi je lui demande juste de rester à Novembre et pas de changer 50 fois de date tout seul.

    J'ai mis environ 1 semaine à comprendre que c'était soit le dlgs soit la fonction exec() qui "foutaient la merde".

    J'ai réussi à contourner le problème en désactivant la dateedit juste avant de faire exec() puis en la réactivant après (en bref j'utilise la fonction setEnabled() sur ma dateedit).

    J'avais pensé à "retarder la chose" en mettant un petit timer pour contourner la chose.

    Mais peut-être que c'est tout simplement un problème de "modal/non-modal" au niveau du dlgs (plus j'y pense plus j'en suis convaincu).

    Sinon je ne vois pas... Qu'en pensez-vous ?

    Faut-il que je prenne des médocs costauds ? Que je me m'achève à l'absinthe ?
    Dernière modification par Invité ; 10/12/2013 à 09h01.

Discussions similaires

  1. [Flex/Bison] Erreur syntaxique récurrente et inexpliquée
    Par BiM dans le forum Générateurs de compilateur
    Réponses: 3
    Dernier message: 11/02/2007, 16h37
  2. quand perl s'arrete de manière inexpliquée
    Par stoyak dans le forum Web
    Réponses: 24
    Dernier message: 13/06/2006, 11h09
  3. Réponses: 8
    Dernier message: 19/01/2006, 21h03
  4. PLantage inexpliqué ...
    Par Clad3 dans le forum C++
    Réponses: 4
    Dernier message: 29/09/2005, 13h13
  5. [reseau] Déconnexions inexpliquées
    Par chaval dans le forum Administration
    Réponses: 4
    Dernier message: 24/08/2005, 11h10

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