Bonjour,

Je suis actuellement en train de développer une petite application pour une boîte de robotique, et je cherche à mettre dans mon application une sorte de boucle while en attende d'un événement de ma souris :"Tant que l'utilisateur d'un pas fait d'appui gauche de la souris, on attend".

J'ai donc testé sur un programme appart certaines fonctions qui sont données par ce lien qui explique tout sur les hooks sous linux :
ftp://ftp-developpez.com/buffa/xwindow/xwindow.pdf

Et voici le programme que j'ai réussi à taper (qui je le répète ne sert qu'à savoir si un clic à été fait ou non) :

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
 
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <X11/X.h>
#include <X11/Xlib.h>
#include <QDebug>
#include <qtextstream.h>
#include <QTextStream>
 
typedef union _XEvent {
    int type;
    XButtonEvent xbutton;
}XEvent;
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
void MainWindow::on_pushButton_clicked()
{
    if (ButtonPress==1)
    {
        if (Button1==1)
        {
            qDebug()<<"boutton pressé !";
        }
    }
}
Et voici les erreurs de compilation que j'obtiens qui ne m'aide en rien... :

/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtextstream.h:54: error: #error qtextstream.h must be included before any header file that defines Status
#error qtextstream.h must be included before any header file that defines Status
^
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtextstream.h:80: error: expected identifier before 'int'
enum Status {
^
/usr/include/arm-linux-gnueabihf/qt5/QtCore/qtextstream.h:80: error: expected unqualified-id before '{' token
enum Status {
^
/home/pi/programme/Vincent.D/Programme/MyMaps/test_clique/mainwindow.cpp:9: error: redefinition of 'union _XEvent'
typedef union _XEvent {
^
/usr/include/X11/Xlib.h:985: error: previous definition of 'union _XEvent'
typedef union _XEvent {
^
/home/pi/programme/Vincent.D/Programme/MyMaps/test_clique/mainwindow.cpp:12: error: invalid type in declaration before ';' token
}XEvent;
^
/home/pi/programme/Vincent.D/Programme/MyMaps/test_clique/mainwindow.cpp:12: error: conflicting declaration 'typedef int XEvent'


Je n'arrive pas à comprendre d'où viennent mes erreurs car l'emplacement des erreurs indiqué se trouve dans des fichiers que je n'ai jamais vus auparavant...

Voilà, si vous avez la moindre remarque à me faire sur mon programme ou sur les erreurs que j'obtiens qui pourrait m'aider à les résoudre, je suis preneur !

Merci d'avance pour vos réponses,
Cordialement,
Vincent. D