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.4.3] QMessageBox , insertion de valeurs comme pour débugger


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Par défaut [Qt 4.4.3] QMessageBox , insertion de valeurs comme pour débugger
    Bonjour, mon titre n'est pas très clair, mais voilà ce que je veux faire. Pour debugger rapidos sans compiler en debug, j'aimerai afficher des messages avec des valeurs numeriques, comme on le fait avec un printf par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("La valeur a observer vaut : %d", m_valeur);
    Est-ce qu'on peut faire la même chose avec une QMessageBox, du genre :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QMessageBox::warning(start, "titre message box", "un item a ete cliqué dans le graphcet voila sa valeur : %d", m_valeur, QMessageBox::Ok, QMessageBox::Cancel);
    Bien sûr, je préfère éviter les artifices du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QString message("un item a ete cliqué dans le graphcet voila sa valeur"+ QString::number(m_valeur));

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    QR en préparation
    formatage de string avec QString
    QString implémente un équivalent au printf et boost::format pour faire du formatage de string.

    Pour cela, QSting utilise des formateur sous la forme %n (ou n est un nombre) et les fonctions arg.

    Chaque fonctions arg retourne une nouvelle string où les %n sont remplacé par ordre croissant. La fonction arg possède énormément de version différente qui vont permettre de remplacer un formateur par un nombre ou une string.
    De plus si plusieurs formateurs ont le même nombre, ils seront remplacé par la même valeur.
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    QString  s = "%2 et %1 ou %1 et %3";
    //on remplace le plus petit formateur contenue dans s
    //tout les %1 sont remplacé par le nombre 42
    //    s1 == "%3 et 42 ou 42 et %2"
    //    s n'est pas modifié
    QString  s1 = s.arg(42);
     
    //on remplace plusieurs formateurs contenue dans s1 dans l'ordre croissant
    //   %2 est remplacé par hello
    //   %3 est remplacé par salut
    //   s2 == "salut et 42 ou 42 et hello"
    //   s1 n'est pas modifié
    QString s2 = s1.arg("hello","salut");
    Cette outil est d'autant plus puissance que l'on peut faire du formatage récursif : l'on peut ajouter des formateurs lors du remplacement d'un formateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    QString  s = "%1";
    //%1 est remplacé par "formatage récursif : %1 %2"
    //   s1 == "formatage récursif : %1 %2"
    //   s1 est composé par deux nouveau formateurs.
    QString  s1 = s.arg("formatage recurssif : %1  %2");
    Pourquoi ne pas utiliser le debuggeur?
    Sinon qt fournie des sortie comme qcritical() ,qdebug() , qWarning(), qCritical() et qFatal()
    http://qt.developpez.com/doc/latest/...html#qCritical

    plus des truc sue je ne connait pas
    http://qt.developpez.com/doc/latest/...tallMsgHandler
    http://qt.developpez.com/doc/latest/debug.html

  3. #3
    Membre expérimenté Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Par défaut
    Merci de la rapidité de la réponse, c'est meilleur qu'un support technique

    Pourquoi ne pas utiliser le debuggeur?
    Sinon qt fournie des sortie comme qcritical() ,qdebug() , qWarning(), qCritical() et qFatal(
    Je sais pas

    EDIT :
    Je viens de tester qDebug(). C'est pas mal, ça évite de faire des 'watch' à tout bout de champ. Par contre, ce qui est dommage c'est :

    Calls the message handler with the debug message msg. If no message handler has been installed, the message is printed to stderr. Under Windows, the message is sent to the console, if it is a console application; otherwise, it is sent to the debugger.
    Donc j'ai une autre question :

    Est-ce que c'est possible, de rediriger le message en question autrement que vers la console du debugger ?
    Admettons que je n'ai que l'éxécutable compilé en Debug mais que le debugger soit éteint, j'aimerai juste ouvrir une console "Executer > cmd" et que les messages partent dedans, c'est possible ?

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Citation Envoyé par Kestufou Voir le message
    Admettons que je n'ai que l'éxécutable compilé en Debug mais que le debugger soit éteint, j'aimerai juste ouvrir une console "Executer > cmd" et que les messages partent dedans, c'est possible ?
    Dans ce cas, il faut que tu compile ton appli debug en mode console

  5. #5
    Membre expérimenté Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Par défaut
    Ah!? Et ça se précise où ça ?

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Citation Envoyé par Kestufou Voir le message
    Ah!? Et ça se précise où ça ?
    dans le .pro :
    CONFIG += console

    dans visual :
    property-> link->system -> subsystem
    tu remplace WINDOWS par console

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

Discussions similaires

  1. [LDAP] Problème lors d'insertion de valeur vide
    Par navis84 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 26/04/2006, 14h26
  2. [vb6-Excel] insertion de valeurs excel => vb
    Par ostro dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 27/10/2005, 15h21
  3. [MSDE][INSERT Auto]Valeur négative de PK
    Par papouAlain dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/09/2005, 14h28
  4. [JDBC]Probleme d'insertion des valeurs !!
    Par tarik75 dans le forum JDBC
    Réponses: 6
    Dernier message: 27/07/2005, 12h41
  5. INSERT avec valeur connue et résultat d'un SELECT...
    Par snoop dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 27/04/2005, 08h54

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