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

Multithreading Discussion :

Problème d'écriture dans un widget


Sujet :

Multithreading

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Problème d'écriture dans un widget
    bonjour,
    j ai une application avec un widget qui contient un textBrowser et un pushButton (classe IHM) et qui lance un thread (classe xThread) a partir d'une instance de la classe IHM lors du clic sur le pushButton.
    Lors de l execution du thread, j essaye de mettre a jour le texte du textBrowser mais ca plante. par contre, j arrive a lire le contenu du textBrowser.
    Quelqu un a une solution?
    Merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void xThread::run()
    {
        IHM* ihm = (IHM*)parent();
        ihm->AddTextviaThread();
    }
     
    void IHM::AddTextviaThread()
    {
        QString temp = ui->textBrowser->toPlainText(); //OK
        ui->textBrowser->insertPlainText("Add Text via Thread"); //plante
    }

  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.
    http://qt.developpez.com/faq/?page=Thread#ihm-thread

    Le plus simple est d'utiliser le système de signals/slots entre les thread.

  3. #3
    Candidat au Club
    Femme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2013
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    bonjour;
    mon probléme c'est lorsque je fais la connexion entre un clik sur un bouton et l'événement de l'ouverture du fonction
    par exemple voila mon code
    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
    QApplication a(argc, argv);
            QWidget fenetre1;
        fenetre1.setFixedSize(450,450);
        QPushButton annuler("annuler", &fenetre1);
    annuler.move(350,400);
    QPushButton suivant("suivant", &fenetre1);
    suivant.move(250,400);
    QDialog secondeFenetre (&fenetre1);
    QVBoxLayout *layout = new QVBoxLayout;
    QLabel *image = new QLabel(&secondeFenetre);
    image->setPixmap(QPixmap("photoqt.jpg"));
    layout->addWidget(image);
    secondeFenetre.setLayout(layout);
    QWidget::connect(suivant, SIGNAL(clicked()), &secondeFenetre,SLOT(exec()));
        fenetre1.show();
     
        ReceiverSMS w;
        return a.exec();
    }
    mais il m'affiche cet erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     error: no matching function for call to `QObject::connect(QPushButton&, const char*, QDialog*, const char*)'

  4. #4
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QWidget::connect(suivant, SIGNAL(clicked()), &secondeFenetre,SLOT(exec()));
    La fonction connect attend des pointeurs, or tu lui envoie une référence.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QWidget::connect(&suivant, SIGNAL(clicked()), &secondeFenetre,SLOT(exec()));

Discussions similaires

  1. Problème d'écriture dans un xml depuis Delphi
    Par MABB dans le forum Delphi .NET
    Réponses: 3
    Dernier message: 26/07/2006, 15h53
  2. [PERL] Problème lecture/écriture dans un fichier
    Par LE NEINDRE dans le forum Langage
    Réponses: 4
    Dernier message: 17/08/2005, 13h15
  3. Problème d'écriture dans un fichier xml
    Par vanoou dans le forum C++Builder
    Réponses: 1
    Dernier message: 13/07/2005, 02h28
  4. Problème d'écriture dans un tableau
    Par Hokagge dans le forum MFC
    Réponses: 46
    Dernier message: 08/07/2005, 16h47
  5. problème d'écriture dans la BD
    Par billy_ze_kid dans le forum ASP
    Réponses: 6
    Dernier message: 12/06/2005, 20h30

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