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 :

Tester le déclenchement d'un paintEvent

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2008
    Messages : 289
    Par défaut Tester le déclenchement d'un paintEvent
    bonjour,
    je cherche à bien voir quand un paintEvent survient sur un widget. Pour l'instant je dessine un cercle:
    balle.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    class Balle : public QWidget
    {
        Q_OBJECT
     
        QPoint centre;
        int rayon;
        QColor couleur;
    public:
        explicit Balle(QWidget *parent = 0);
        Balle(QPoint, int, QColor);
     
    protected:
        void paintEvent(QPaintEvent *event);
    balle.cpp: redéfinition de la méthode paintEvent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void Balle::paintEvent(QPaintEvent *event)
    {
        qDebug() << "Balle paintEvent";
    }
    mainwindow.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Balle *b1 = new Balle(QPoint p, 34, QColor(0, 0, 200));
    //... du code
    QGraphicsEllipseItem cercle1(r1);  //r1 est un rectangle instancié à partir de b1
    scene.addEllipse(r1, pen, brosse);
    ui->view->setScene(&scene);
    ui->view->show();
    b1 s'affiche correctement mais je n'arrive pas déclencher le message de la méthode paintEvent quand je recouvre/découvre la fenêtre ou autre manip. qui devrait déclencher l'évènement.
    J'ai dû mal écrire quelque chose mais je ne vois pas quoi.
    Merci.

  2. #2
    Membre éprouvé
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Par défaut
    Si tu compiles en C++11, je te conseille d'utiliser override, ça peut éviter de déclarer une nouvelle fonction virtuelle quand on voulait en surcharger une existante. Mais ici tout me semble correct.
    Es-tu sûr d'avoir fait des actions qui nécessitent de repeindre ton widget ? Il y a des optimisations je pense, des mises en cache, et si ton objet Balle n'a pas été modifié peut-être qu'il n'est pas systématiquement repeint. Tu peux faire le test avec un bouton qui le rendrait invisible puis à nouveau visible, avec ça le paintEvent devrait être appelé.

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

Discussions similaires

  1. Peut on tester l'existence d'un fichier ?
    Par Alamassepointcom dans le forum Flash
    Réponses: 2
    Dernier message: 10/10/2002, 12h10
  2. tester si une date est valide
    Par Andry dans le forum Langage
    Réponses: 5
    Dernier message: 17/09/2002, 11h54
  3. [VB6] [Interface] Tester le Type de Controle
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 16/09/2002, 09h51
  4. [ADO] Tester l'existence d'une table
    Par nd25 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 05/09/2002, 13h55
  5. Tester connexion Internet active sous Windows
    Par Altau dans le forum Développement
    Réponses: 3
    Dernier message: 12/08/2002, 12h43

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