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 :

[Qt4 GUI]Problème Affichage bloquant


Sujet :

Qt

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Points : 969
    Points
    969
    Par défaut [Qt4 GUI]Problème Affichage bloquant
    Bonjour à tous,

    Je tente de réaliser un programme qui récupère des données de façon régulière, et qui les affiche "en temps réel".
    La partie récupération des données fonctionne, mais lorsque j'essaie d'afficher les données, l'interface se "bloque", et n'affiche toutes les données qu'en un seul bloc, une fois le programme terminé.

    J'ai donc essayer de simplifier mon code pour identifier le problème, et je n'ai toujours pas réussi à le résoudre.

    J'ai fait un programme simple, compilable (mode console) qui met en évidence mon problème. Une simple boucle for avec dedans une fonction qui affiche les données, à la fois sur la console et dans mon interface. On voit que l'affichage se fait correctement sur la console, mais pas sur l'interface Qt.

    Je vous laisse essayer. Merci de votre aide.

    G.

    PS : Win xp sp2, Qt 4.3.3
    Un problème avec Qt ? Vous trouverez votre réponse ici : http://doc.trolltech.com/4.6/overviews.html
    En français (traduction réalisée par l'équipe Qt de DVP) : http://qt.developpez.com/doc/4.6/vues-d-ensemble/

  2. #2
    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.
    Dans le code que tu donne c'est normale.
    L'eventloop n'est lancé qu'aprés.

    As tu essayer de rajouter
    pendant la récupération de tes données?

  3. #3
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Salut,

    Pour de l'extraction de données permanente, il faut utiliser un thread. Le processEvent est une mauvaise solution dans ces cas (perte de réactivité à la fois dans la GUI et dans la récupération).

  4. #4
    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
    Citation Envoyé par IrmatDen Voir le message
    Salut,

    Pour de l'extraction de données permanente, il faut utiliser un thread. Le processEvent est une mauvaise solution dans ces cas (perte de réactivité à la fois dans la GUI et dans la récupération).
    +1
    (faut que je reflechisse avant de repondre,parfois... )

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Points : 969
    Points
    969
    Par défaut
    Ok, le processEvents() (que je ne connaissais pas) me permet de "rafraichir" l'affichage. Cependant, mes données, qui apparaissaient auparavant correctes, sont toutes nulles à présent.

    Je vous tiens au courant.Merci Mongaulois pour ton aide
    Un problème avec Qt ? Vous trouverez votre réponse ici : http://doc.trolltech.com/4.6/overviews.html
    En français (traduction réalisée par l'équipe Qt de DVP) : http://qt.developpez.com/doc/4.6/vues-d-ensemble/

  6. #6
    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
    Citation Envoyé par Gulish Voir le message
    Ok, le processEvents() (que je ne connaissais pas) me permet de "rafraichir" l'affichage. Cependant, mes données, qui apparaissaient auparavant correctes, sont toutes nulles à présent.

    Je vous tiens au courant.Merci Mongaulois pour ton aide
    Ce n'est qu'une astuce, quand on fait des traitements un peu long dans la thread GUI.
    Tiens compte de la remarque de IrmatDen

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Points : 969
    Points
    969
    Par défaut
    Ok Ok. Je vais me pencher sur les threads Qt. Je suppose que pour faire communiquer les threads entre eux, ils faut utiliser les signaux/slots. J'ai vu qu'il y avait un tuto dessus sur le site.

    Vous auriez d'autres adresses concernant ce genre de choses (autre que la doc Qt et ce tuto ?)

    En tout cas merci à vous deux. Je signale ce post comme résolu. Je le relancerai peut etre plus tard, si je bloque vraiment ( j'ai toujours eu un peu de mal avec les threads ).

    Bonne continuation, et merci encore.

    G.
    Un problème avec Qt ? Vous trouverez votre réponse ici : http://doc.trolltech.com/4.6/overviews.html
    En français (traduction réalisée par l'équipe Qt de DVP) : http://qt.developpez.com/doc/4.6/vues-d-ensemble/

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Points : 969
    Points
    969
    Par défaut Les Threads ...
    Salut,

    Bon j'ai essayé de faire un peu le tour des threads, mais je comprends pas. J'ai fait le peu de tuto que j'ai trouvé, j'ai lu les docs sur les threads, les eventLoops, etc, mais rien n'y fait. Même en essayant de faire un truc tout simple, ça ne marche pas et je comprends toujours pas pourquoi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    #include <QtCore>
    #include <QtGui>
    #include <iostream>
     
    #include "threadSimple.h"
     
    using namespace std;
     
    threadSimple::threadSimple(QObject *parent) : QThread (parent) 
    {}
     
     
    void threadSimple::run()
    {
    	for(int i=0;i<10;i++)
    		cout<<"developpez.com\n";
     
    	exec();
    }
     
    int main(int argc, char *argv[])
    {
    	QApplication app(argc, argv);
    	threadSimple ts;
    	ts.start();
    	return app.exec();
    }
    Je comprends pas, dans plein d'exemples, ils utilisent juste le exec() et tout marche bien. J'ai essayé avec des exits, quit, même terminate, rien à faire, le programme reste bloqué après avoir passé la boucle.

    Si vous avez des infos, une page ou y a des choses simples et claires, j'achète !!

    Merci à vous,

    G.
    Un problème avec Qt ? Vous trouverez votre réponse ici : http://doc.trolltech.com/4.6/overviews.html
    En français (traduction réalisée par l'équipe Qt de DVP) : http://qt.developpez.com/doc/4.6/vues-d-ensemble/

  9. #9
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    C'est pas compliqué tu généres un thread qui ne s'arrête pas. Ca, tu t'en es aperçu. Maintenant, dis nous quand est-ce que tu lui demandes de s'arrêter?

  10. #10
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Points : 969
    Points
    969
    Par défaut
    Normalement (d'après ce que j'ai compris), quand il arrive à exec(), s'il a recu un quit auparavant, il se termine.

    Or dans les quelques exemples que j'ai trouvé, il n'y a aucun quit(). J'ai quand même essayé d'en mettre et ça ne marche pas non plus.

    Je peux pas t'en dire plus, justement je ne comprends pas pourquoi il s'arrete pas, avec ou sans quit(), terminate() ou n'importe quoi.

    Je sais que le thread principal se ferme lui quand la derniere fenetre est fermée, il n'est donc pas nécessaire d'utiliser la commande quit(). Mais pour les threads secondaires, je ne sais pas quoi faire.

    Merci,

    G.
    Un problème avec Qt ? Vous trouverez votre réponse ici : http://doc.trolltech.com/4.6/overviews.html
    En français (traduction réalisée par l'équipe Qt de DVP) : http://qt.developpez.com/doc/4.6/vues-d-ensemble/

  11. #11
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    QThread::quit() et QThread::exit() envoie un message à la boucle d'événement du thread pour lui demander de s'arrêter dès que possible.
    Pour faire un vrai test, il faudrait que tu améliores ton thread de test pour fournir un moyen de s'arrêter en cours de route, un truc de ce genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    #include <QtCore>
    #include <iostream>
    #include <string>
     
    using namespace std;
     
    class ThreadSafeOutput
    {
    public:
        void display(string s)
        {
            QMutexLocker locker(&coutMutex);
            cout << s << endl;
        }
     
    private:
        QMutex coutMutex;
    } safeCout;
     
    class MyThread : public QThread
    {
    public:
        MyThread():mustBeStopped(false) {}
     
        void stopMe()
        {
            mustBeStopped = true;
        }
     
    protected:
        virtual void run()
        {
            while(!mustBeStopped)
            {
                safeCout.display("I'm in a thread!");
            }
        }
     
    private:
        bool mustBeStopped;
    };
     
    int main(int argc, char **argv)
    {
        MyThread t;
        t.start();
     
        if(t.isRunning())
            safeCout.display("thread running");
        else
            safeCout.display("thread not running!");
     
        t.stopMe();
     
        if(t.isRunning())
            safeCout.display("thread not stopped");
        else
            safeCout.display("thread stopped!");
     
        return 0;
    }
    Si bien sûr la boucle est plus coûteuse, il te faut patienter que ce soit terminé; pour le programme de test, il suffirait d'ajouter ça après l'appel à stopMe():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        while(t.isRunning())
        {
            // Do nothing
        }

    Edit: que j'explique ThreadSafeOutput quand même...
    les i/o ne sont pas threadsafe, par conséquent tu pourrais te retrouver avec ce genre de sortie sans verrouiller l'accès à un thread à la fois:
    thread runningI'm in a thread!

    thread not stopped!
    (et encore, sur des opérations d'i/o plus longue un ordonnanceur différent du mien (win xp sp2), ça peut être pire, tu peux très bien avoir ça (que j'invente mais qui est tout à fait plausible):
    thread runI'm ninign a thread!

    thread I'nomt inst aop thrpeeadd!
    Edit 2:
    - petite correction d'un mauvais if ci-dessus
    - a noter que la 2nde ligne du 2nd exemple de sortie non thread-safe n'est pas possible avec le programme d'exemple fourni

  12. #12
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Points : 969
    Points
    969
    Par défaut
    Ok Merci IrmatDen, ton petit exemple marche pas mal, et les explications sont claires.

    #Cependant, pour essayer les signaux slots entre threads, j'ai ajouté la macro Q_OBJECT, et là j'ai plein de problèmes de link "unresolved external symbol ..."
    Edit : C'est bon j'ai lu tout ce que j'ai pu sur le moc, et j'ai plus ces erreurs.

    Malgré la compilation, je n'arrive toujours pas à utiliser les signaux slots :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    QTextEdit tedit;
    tedit.show();
    MyThread t;
    QObject::connect(&t,SIGNAL(started()),&tedit,SLOT(append(QString("connect fonctionne"))));
     
    t.start();
    Une autre remarque, tu n'utilises pas exec() dans ton exemple, donc il n'y a pas de boucle d'évènements, cela va poser un problème pour les signaux/slots non ? Quand j'essaie de l'utiliser, mon programme redevient bloqué.

    Merci de tes réponses, et désolé pour ces questions, mais là plus j'avance, moins j'ai l impression d'avoir compris qqchose au fonctionnement de Qt...

    G.
    Un problème avec Qt ? Vous trouverez votre réponse ici : http://doc.trolltech.com/4.6/overviews.html
    En français (traduction réalisée par l'équipe Qt de DVP) : http://qt.developpez.com/doc/4.6/vues-d-ensemble/

  13. #13
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Points : 969
    Points
    969
    Par défaut Je tourne en rond ...
    Bon j'ai réussi à faire marcher les signaux/slots, mais je me retrouvre dans le problème initial, mon thread qui affiche dans la console marche bien, mais j'ai toujours un affichage bloqué sur mon interface Qt...(affichage en bloc à la fin)

    J'ai essayé le qApp->processEvents et d'autres trucs, mais ça ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    class MyThread : public QThread
    {
    	Q_OBJECT
    ...
     
    protected:
        virtual void run()
        {
    		QString qs;
            while(!mustBeStopped)
            {      		safeCout.display("I'm in a thread!");
    			qs = QString("Connect Marche");
    			sleep(1);
    			emit onProcess(qs);
    	}
        }
     
    signals:
    	void onProcess(QString qs);
    private:
    	bool mustBeStopped;
    };
     
    int main(int argc, char **argv)
    {
    	QApplication app(argc, argv);
    	QTextEdit* tedit;
    	tedit = new QTextEdit;
    	tedit->show();
    	tedit->append("C est parti...");
    	MyThread* t;
    	t= new MyThread;
    	QObject::connect(t,SIGNAL(onProcess(QString)),tedit,SLOT(append(QString)));
     
        	t->start();
    	...
      	t->stopMe();
    	while(t->isRunning())
       	 {
            // Do nothing
       	 }
           	 ...
        return app.exec();
    }
    G.
    Un problème avec Qt ? Vous trouverez votre réponse ici : http://doc.trolltech.com/4.6/overviews.html
    En français (traduction réalisée par l'équipe Qt de DVP) : http://qt.developpez.com/doc/4.6/vues-d-ensemble/

  14. #14
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Citation Envoyé par Gulish Voir le message
    mon thread qui affiche dans la console marche bien, mais j'ai toujours un affichage bloqué sur mon interface Qt...(affichage en bloc à la fin)
    N'oublie pas qu'il faut que la boucle d'événement tourne... Là tu ne la laisses tourner qu'à la fin quand tout est fini et que le thread est stoppé.
    Fait une interface minimum au lieu de tout empiler dans le main. Genre un QTextEdit *et* un bouton start/stop thread (tu switches entre les demandes d'arrêt et de démarrage du thread entre chaque clic sur le bouton).

  15. #15
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Points : 969
    Points
    969
    Par défaut
    J'ai suivi tes conseils IrmatDen, (structurer un peu mon programme) et ça marche plutôt bien ! J'ai donc un bouton start qui cree et lance un thread qui lit et émet un signal avec les données lues, tout ca est envoyé à un slot de l'interface, qui affiche les données.

    J'ai encore 2 questions :

    1)Est il utile de mettre un QMutex dans le slot qui réalise l'affichage?

    2J'ai essayé de mettre un QMutex dans l'affichage, et j'obtiens des petites erreurs d'affichage dans la console(cout). En mesurant le temps mis par l'affichage, j'ai remarqué que celui ci était très rapide (<0ms pour mettre une vingtaine de données dans un TableWidget).
    En ajoutant un sleep dans cet affichage, je remarque que le problème dans la console disparait. J'ai l'impression que le QMutex n'a pas le temps de se bloquer/débloquer pour les fonctions très rapides. Est ce possible ?

    Merci à tous en tout cas.

    G.
    Un problème avec Qt ? Vous trouverez votre réponse ici : http://doc.trolltech.com/4.6/overviews.html
    En français (traduction réalisée par l'équipe Qt de DVP) : http://qt.developpez.com/doc/4.6/vues-d-ensemble/

  16. #16
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Humm... avant de répondre à tes 2 questions j'aimerais être sûr d'une chose:
    Fais-tu des opérations sur la GUI dans un autre thread que le thread principal?

    (J'ai un doute qui plane à la lecture de ton post)

  17. #17
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Points : 969
    Points
    969
    Par défaut
    Non, mon autre thread ne fait que lire les données, et les émettre avec un emit monSignal(mesDonnées). J'ai juste ajouter, dans ce thread de lecture, un affichage sur la console windows(cout) pour afficher le temps de chaque cycle de lecture. Mais c'est uniquement sur la console, rien sur l'interface.

    Et je n'ai pas d'autre thread pour l'instant (le principal initialisé avec Qapplication, et un thread qui lit mes données).

    J'éspère que c'est plus clair.
    Un problème avec Qt ? Vous trouverez votre réponse ici : http://doc.trolltech.com/4.6/overviews.html
    En français (traduction réalisée par l'équipe Qt de DVP) : http://qt.developpez.com/doc/4.6/vues-d-ensemble/

  18. #18
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Alors:

    1)Est il utile de mettre un QMutex dans le slot qui réalise l'affichage?

    Non, pas dans le slot; par contre dans la fonction du thread qui fournit les données oui, il y a des chances

    2) J'ai essayé de mettre un QMutex dans l'affichage, et j'obtiens des petites erreurs d'affichage dans la console(cout).

    Quels messages stp?

  19. #19
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Points : 969
    Points
    969
    Par défaut
    Voila une capture d'ecran du probleme. L'affichage se chevauche un peu.
    Le cout<< "temps lecture = ..." se fait dans le thread qui lit les données.
    Le cout<< "temps affichage = ..." se fait dans le slot qui affiche, donc dans le thread principal. (il y a le même problème avec ou sans QMutex dans le slot). Il y a bien un QMutex dans le thread de lecture.

    Par contre le fait d'allonger le temps d'éxécution de l'affichage règle le problème.

    Si tu as une réponse, j'achète

    Merci

    G.
    Un problème avec Qt ? Vous trouverez votre réponse ici : http://doc.trolltech.com/4.6/overviews.html
    En français (traduction réalisée par l'équipe Qt de DVP) : http://qt.developpez.com/doc/4.6/vues-d-ensemble/

  20. #20
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Ah mais c'est pas des warning alors! Ben, relis mon poste de la page précédente (celui avec l'exemple)

    D'ailleurs, si tu pouvais fournir un peu du code utilisé (juste ce qui est nécessaire à l'explication du problème, s'il en faut plus, je le dirais) je prends volontiers. (Si autre problème que les sorties il y a bien sûr)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Qt4][QGIS]Problème d'affichage d'un raster
    Par abir_rzg dans le forum SIG : Système d'information Géographique
    Réponses: 2
    Dernier message: 26/06/2009, 14h35
  2. Réponses: 10
    Dernier message: 08/06/2009, 12h30
  3. Problème affichage primitive
    Par goutbouyo dans le forum DirectX
    Réponses: 4
    Dernier message: 29/12/2004, 19h25
  4. [Plugin][VE] Problème affichage
    Par sebb84 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 05/07/2004, 15h50
  5. [DOS] Problème affichage de DOS dans un Memo
    Par Pedro dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 25/06/2004, 14h31

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