Fenetreprincipale.cpp
#include "Fenetre_principale.h"
#include "moteurs.h"
FenetrePrincipale::FenetrePrincipale():QWidget()
{
barre_de_menu=new QMenuBar();
menu_programme=new QMenu("&Programme");
menu_affichage=new QMenu("&Affichage");
menu_options=new QMenu("&Options");
barre_de_menu->addMenu(menu_programme);
barre_de_menu->addMenu(menu_affichage);
barre_de_menu->addMenu(menu_options);
//actions programme
QAction *actionQuitter = new QAction("&Quitter",menu_programme);
actionQuitter->setShortcut(QKeySequence("Ctrl+Q"));
connect(actionQuitter,SIGNAL(triggered()),qApp,SLOT(quit()));
menu_programme->addAction(actionQuitter);
//actions affichage
afficher_compteurdevitesse=new QAction("&Compteur de vitesse",menu_affichage);
afficher_compteurdevitesse->setCheckable(1);
afficher_compteurdevitesse->setChecked(1);
connect(afficher_compteurdevitesse,SIGNAL(triggered()),this,SLOT(affichage_compteur_vitesse()));
menu_affichage->addAction(afficher_compteurdevitesse);
afficher_horizonartificiel=new QAction("&Horizon artificiel",menu_affichage);
afficher_horizonartificiel->setCheckable(1);
afficher_horizonartificiel->setChecked(1);
connect(afficher_horizonartificiel,SIGNAL(triggered()),this,SLOT(affichage_horizon_artificiel()));
menu_affichage->addAction(afficher_horizonartificiel);
afficher_moteurs=new QAction("&Moteurs",menu_affichage);
afficher_moteurs->setCheckable(1);
afficher_moteurs->setChecked(1);
connect(afficher_moteurs,SIGNAL(triggered()),this,SLOT(affichage_moteurs()));
menu_affichage->addAction(afficher_moteurs);
//actions options
barre_puissance_demandee=new QProgressBar();
barre_puissance_demandee->setMinimum(-100);
barre_puissance_demandee->setMaximum(100);
barre_puissance_demandee->setOrientation(Qt::Vertical);
barre_puissance_demandee->setValue(puissance_demandee);
//barre_puissance_demandee->setTextVisible(1);
avancer=new QShortcut(Qt::Key_Z,this);
connect(avancer,SIGNAL(activated()),this,SLOT(action_avancer()));
reculer=new QShortcut(Qt::Key_S,this);
connect(reculer,SIGNAL(activated()),this,SLOT(action_reculer()));
gauche=new QShortcut(Qt::Key_Q,this);
connect(gauche,SIGNAL(activated()),this,SLOT(tourner_gauche()));
droite=new QShortcut(Qt::Key_D,this);
connect(droite,SIGNAL(activated()),this,SLOT(tourner_droite()));
batterie=new QProgressBar();
batterie->setMinimum(0);
batterie->setMaximum(100);
batterie->setOrientation(Qt::Horizontal);
batterie->setValue(pourcentage_batterie);
moteurs=new Moteurs();
/*rafraichissement=new QTimer(this);
rafraichissement->start(20);
connect(rafraichissement,SIGNAL(timeout()),moteurs,SLOT(rafraichir(puissance_moteurdroit,puissance_moteurgauche,regime_moteurdroit,regime_moteurgauche)));*/
moteurs->setPourcentagegauche(puissance_moteurgauche);
moteurs->setPourcentagedroit(puissance_moteurdroit);
moteurs->setRegimegauche(regime_moteurgauche);
moteurs->setRegimedroit(regime_moteurdroit);
organisation_principale=new QGridLayout(this);
organisation_principale->addWidget(barre_puissance_demandee,1,0,Qt::AlignLeft);
organisation_principale->addWidget(barre_de_menu,0,0,Qt::AlignTop);
organisation_principale->addWidget(batterie,0,1,Qt::AlignRight);
organisation_principale->addWidget(moteurs,1,1,Qt::AlignBottom);
//sf::Joystick::update();
if(sf::Joystick::isConnected(0))
{
puissance_demandee=100;
}
}
void FenetrePrincipale::action_avancer()
{
puissance_demandee ++;
barre_puissance_demandee->setValue(puissance_demandee);
}
void FenetrePrincipale::action_reculer()
{
puissance_demandee --;
barre_puissance_demandee->setValue(puissance_demandee);
}
void FenetrePrincipale::tourner_gauche()
{
puissance_moteurgauche=puissance_demandee-10;
}
void FenetrePrincipale::tourner_droite()
{
puissance_moteurdroit=puissance_demandee-10;
}
void FenetrePrincipale::monter_camera()
{
}
void FenetrePrincipale::baisser_camera()
{
}
void FenetrePrincipale::gauche_camera()
{
}
void FenetrePrincipale::droite_camera()
{
}
void FenetrePrincipale::affichage_compteur_vitesse()
{
if(afficher_compteurdevitesse->isChecked())
{
compteur_de_vitesse->setVisible(1);
}
else
{
compteur_de_vitesse->setHidden(1);
}
}
void FenetrePrincipale::affichage_horizon_artificiel()
{
if(afficher_horizonartificiel->isChecked())
{
horizon_artificiel->setVisible(1);
}
else
{
horizon_artificiel->setHidden(1);
}
}
void FenetrePrincipale::affichage_moteurs()
{
if(afficher_moteurs->isChecked())
{
moteurs->setVisible(1);
}
else
{
moteurs->setHidden(1);
}
}
Fenetreprincipale.h
#ifndef FENETRE_PRINCIPALE_H
#define FENETRE_PRINCIPALE_H
#include <QMenu>
#include <QMenuBar>
#include <QGridLayout>
#include <QApplication>
#include <QProgressBar>
#include <QShortcut>
#include <QAction>
#include <QTimer>
#include "moteurs.h"
#include <SFML/Window/Joystick.hpp>
class FenetrePrincipale: public QWidget
{
Q_OBJECT
public:
FenetrePrincipale();
public slots:
void action_avancer();
void action_reculer();
void tourner_gauche();
void tourner_droite();
void monter_camera();
void baisser_camera();
void gauche_camera();
void droite_camera();
void affichage_horizon_artificiel();
void affichage_compteur_vitesse();
void affichage_moteurs();
private:
QMenuBar *barre_de_menu;
QGridLayout *organisation_principale;
QMenu *menu_affichage;
QMenu *menu_options;
QMenu *menu_programme;
QGridLayout *organisation_instruments;
QProgressBar *barre_puissance_demandee;
QShortcut *avancer;
QShortcut *reculer;
QShortcut *gauche;
QShortcut *droite;
QWidget *compteur_de_vitesse;
QWidget *horizon_artificiel;
Moteurs *moteurs;
QAction *afficher_compteurdevitesse;
QAction *afficher_horizonartificiel;
QAction *afficher_moteurs;
QProgressBar *batterie;
QTimer *rafraichissement;
int puissance_demandee=0;
int puissance_moteurgauche=100;
int puissance_moteurdroit=100;
int regime_moteurgauche=4000;
int regime_moteurdroit=4000;
int pourcentage_batterie=100;
};
#endif // FENETRE_PRINCIPALE_H
Bah si j'inclue pas la SFML,ça peut pas marcher ^^
D'ailleur si j'essaye sans inclure,il me met "sf"has not been declared here