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

Contribuez Discussion :

Déplacement d'un rectangle en 2D


Sujet :

Contribuez

  1. #1
    Invité
    Invité(e)
    Par défaut Déplacement d'un rectangle en 2D
    Bonjour,

    Voici ma nouvelle contribution ,comme écrit dans le titre, déplacement d' un rectangle à l'aide d'un
    objet déclaré en QPushButton, dans une fenêtre de dimension 400 x 200 pixels .
    Ce programme n'est pas écrit avec les class QGraphicScene et QGraphicItem .

    Nom du fichier : objetmouv.cpp
    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
    #include "objetmouv.h"
    #include <QApplication>
    int main(int argc,char ** argv)
    {	QApplication app(argc,argv) ;
    	QPushButton * btndroite = new QPushButton("Avance") ;
    		btndroite->setAutoRepeat(true) ;
    		btndroite->setAutoRepeatInterval(33) ;
    	QPushButton * btnrz = new QPushButton("Debut") ;
    	QGridLayout * tablo = new QGridLayout ;
    	Elements obj1 ;
    		obj1.init() ;
    	QLabel * mlabel = new QLabel ;
    		mlabel->setPixmap(obj1.imagepix()) ;
    		tablo->addWidget(mlabel,0,0,1,2) ;
    		tablo->addWidget(btnrz,1,1) ;
    		tablo->addWidget(btndroite,1,0) ;	
    	QWidget * mwidget = new QWidget ;
    		mwidget->setLayout(tablo) ;
    	QObject::connect(btndroite,SIGNAL(clicked()),&obj1,SLOT(avancedrt()) ) ;
    	QObject::connect(btnrz,SIGNAL(clicked()),&obj1,SLOT(reviendebu()) ) ;
    	QObject::connect(&obj1,SIGNAL(refresh()),&obj1,SLOT(fenetre()) ) ;
    		mwidget->show() ;
    		obj1.config(mwidget,mlabel) ;	
    return app.exec() ;	
    }
    Nom du fichier : objetmouv.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
    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
    62
    63
    64
    65
    66
    #ifndef _OBJETMOUV_H_
    #define _OBJETMOUV_H_
     
    #include <QPainter>
    #include <QLabel>
    #include <QWidget>
    #include <QGridLayout>
    #include <QPushButton>
    #include <QObject>
     
    class Elements : public QObject
    {	Q_OBJECT
     
    	public :
    	void init()
    	{ c_itr1 = 0 ;
    	  QPixmap dimensio(400,200) ; dimensio.fill() ;
    	  c_image = dimensio ; 
    	  c_widget = new QWidget ; c_label = new QLabel ;
    	//  c_layout = new QGridLayout ;	
    	}
     
    	QPixmap imagepix()
    	{ return c_image ; }
     
    	void config(QWidget * mwidget,QLabel * mlabel)
    	{	c_widget = mwidget ; c_label = mlabel ; }	
     
    	public slots :
    	void avancedrt()	
    	{ c_itr1+= 4 ;
    		if (c_itr1 >= 390)
    		{c_itr1 = 389 ; }	
    		emit refresh() ;
    	}
     
    	void reviendebu()
    	{ c_itr1 = 0 ;
    		emit refresh() ;
    	}
     
    	void fenetre()
    	{ c_image.fill() ;
    	  c_label->clear() ;		
    	  QPainter stylet(&c_image) ;	
    		stylet.drawRect((c_itr1 + 10),50,50,100) ;
    	  stylet.end() ;
    	  c_label->setPixmap(c_image) ;
    	  c_label->update() ;
    	//  c_layout->addWidget(c_label,0,0,1,2) ;
    	//  c_widget->setLayout(c_layout) ;
    	  c_widget->update() ;
    	}
     
    	signals :
    	void refresh() ;	
     
    	private :
    //	QGridLayout * c_layout ;	
    	QWidget * c_widget ;
    	QLabel * c_label ;
    	QPixmap c_image ;
    	int c_itr1 ;
    };
     
    #endif
    Au revoir.

  2. #2
    Invité
    Invité(e)
    Par défaut
    ...image capturée.

    Nom : web_ou.png
Affichages : 156
Taille : 6,5 Ko

Discussions similaires

  1. Problème de déplacement des rectangles
    Par cornufreud dans le forum Général Python
    Réponses: 3
    Dernier message: 17/12/2012, 15h59
  2. Déplacement rectangle picturebox
    Par pierregr dans le forum VB.NET
    Réponses: 3
    Dernier message: 30/07/2012, 17h08
  3. déplacement d'un rectangle
    Par une_tite_question dans le forum AWT/Swing
    Réponses: 12
    Dernier message: 13/02/2008, 12h54
  4. Réponses: 3
    Dernier message: 11/05/2006, 11h32
  5. Limiter le déplacement de la souris
    Par el_bouleto dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/11/2002, 23h56

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