Bonjour,
j'ai besoin d'aide pour mon programme, j'utilise QTDisigner pour l'interface, mon programme conssiste a lancer un chrono puis a l’arrêter, le soucis c'est que je suis très très nul en programmation. Je vous montre mon programme.
Le mainwindows.h
Le main.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
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
67
68
69
70 #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QTimer> #include <QPushButton> #include <QLCDNumber> #include <QApplication> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT private: QPushButton* Depart; QPushButton* Arret; QPushButton* Reduire; QLCDNumber* Chrono; int m_timer_value; QTimer* m_timer; bool validDepart; bool validArret; bool validReduire; Ui::MainWindow *ui; private slots: void update() { //incrémentation du comteur en secondes m_timer_value++; //affichage via le QLCDNumber Chrono->display(m_timer_value); } void on_Depart_clicked(); void on_Arret_clicked(); void on_Chrono_overflow(); void on_Reduire_clicked(); public: MainWindow() { // On met à zéro le compteur représentant le nombre de secondes this->m_timer_value=0; //Création du timer this->m_timer = new QTimer(this); connect(this->m_timer, SIGNAL(timeout()),this, SLOT(update())); // On applique un intervalle d'une seconde entre chaque timeoutdu timer this->m_timer->setInterval(1000); //on gere le bouton Depart et Arret this->validDepart=true; this->validArret=false; this->validReduire=false; // on connecte les boutons connect(this->Depart,SIGNAL(clicked()),this,SLOT(on_Depart_clicked())); connect(this->Arret,SIGNAL(clicked()),this,SLOT(on_Arret_clicked())); connect(this->Reduire,SIGNAL(clicked()),this,SLOT(on_Reduire_clicked())); } explicit MainWindow(QWidget *parent=0); ~MainWindow(); }; #endif // MAINWINDOW_H
Le mainwindows.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include "mainwindow.h" #include <QApplication> #include <QApplication> #include <QDesktopWidget> int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); return a.exec(); }
Quand je le lance il me met c'est erreur:
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 #include "mainwindow.h" #include "ui_mainwindow.h" #include <QDesktopWidget> //constructeur MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); this->showFullScreen(); //ouvre la fenetre en plein ecran, ce qui permet de ne pas afficher les boutons pour reduire, agrandir ou fermer la fenetre } void MainWindow::on_Depart_clicked() { // on desactive le bouton Depart validDepart=false; // on active les boutons Arret et Reduire validArret=true; validReduire=true; // lancement du chrono this->m_timer->start(); } void MainWindow::on_Arret_clicked() { //on desactive les boutons Arret et Reduire validArret=false; validReduire=false; //on active le bouton Depart validDepart=true; // on arrete le chrono this->m_timer->stop(); } void MainWindow::on_Reduire_clicked() { } void MainWindow::on_Chrono_overflow() { } MainWindow::~MainWindow() { delete ui; }
Desktop\cyber\main.cpp:-1: In function 'int qMain(int, char**)'
Desktop\cyber\main.cpp:9: erreur : call of overloaded 'MainWindow()' is ambiguous
MainWindow w;
^
Desktop\cyber\main.cpp:1: In file included from ..\cyber\main.cpp:1:0:
Desktop\cyber\mainwindow.h:65: candidate: MainWindow::MainWindow(QWidget*)
explicit MainWindow(QWidget *parent=0);
^
Desktop\cyber\mainwindow.h:46: candidate: MainWindow::MainWindow()
MainWindow()
^
Je ne sais plus quoi faire, merci pour ce qui vont regarder mon problème et désoler pour les faute.Merci.
Partager