Bonjour tout le monde.
Je débute en C++, et j'aimerais savoir utiliser QT. Pour apprendre, j'essaie de faire une application toute bête qui commence à tracer une droite quand on fait un 1er clique gauche, et termine cette même droite avec un 2ème clique gauche. J'aimerais que la droite soit visible entre les 2 clics. Mais je n'arrive pas à utiliser correctement la propriété "mouseTracking".
//La fonction main:
#include <qapplication.h>
#include "lineview.h"
int main (int argc, char *argv[])
{
QApplication app(argc, argv);
QCanvas canvas;
canvas.resize(640, 480);
LineView view (&canvas);
view.setCaption(QObject::tr("Line"));
app.setMainWidget(&view);
view.show();
return app.exec();
}
//La classe dérivée de QCanvasView:
class LineView:public QCanvasView
LineView(QCanvas *canvas, QWidget *parent = 0, const char *name = 0);
void addLine();
private:
void addItem(QCanvasItem *item);
void showNewItem(QCanvasItem *item);
int debX;
int debY;
int finX;
int finY;
int clickEnCours;
protected:
void contentsMousePressEvent(QMouseEvent *event);
void contentsMouseMoveEvent(QMouseEvent *event);
};
Comment utiliser setMouseTracking (TRUE)?
J'ai essayé dans le constructeur de la classe Lineview, ainsi que dans la fonction main, mais ça ne marche pas :-(
Avez-vous une idée?
Merci
Poste le Saturday 24 April 2004 15:52:23