Bonjour,
Dans la fenêtre principale "MaFenetre" de mon interface ya un bouton Fermer, j'ai voulu lui associer une boite de dialogue avec 2 boutons "Yes" et "No" pour que quand je clique sur Fermer je dois confirmer. Si c'est Yes MaFenetre doit se fermer sinn elle doit rester.
J'ai crée une fenêtre "fenetreDialog" sur Qtdesigner son ObjectName c'est: Dialog
à qui j'ai associé 2fichiers sur Visual C++: Dialog.h et Dialog.cpp
voici leurs codes:
Dialog.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 Dialog.cpp #include "Dialog.h" #include "ui_fenetreDialog.h" #include "MaFenetre.h" #include "ui_fenetre0.h" //#include "highgui.h" #include <QString> #include <QFileDialog> #include <QMessageBox> #include <QGridLayout> #include <QPixmap> #include <QTextEdit> #include <QInputDialog> //#include <QDialog> Dialog:: Dialog(QWidget * ): QWidget(), ui(new Ui::Dialog) { Ui_Dialog::setupUi( QDialog ) //this->setWindowIcon(QIcon("accessories-text-editor.png")); //------------------------------------------------les connexions---------------------------------------------- QObject:: connect(boutonNo,SIGNAL(clicked()),this,SLOT(rester())); connect(boutonYes,SIGNAL(clicked()),this,SLOT(quitter())); } //------------------------------les slots personnalisés-------------------------------------------------------- void Dialog :: rester() { this ->hide(); MaFenetre *t = new MaFenetre(this); t->show(); } void Dialog :: quitter() { this ->hide(); MaFenetre *r = new MaFenetre(this); r->hide(); //MaFenetre->hide(); } Dialog::~Dialog() { delete ui; }
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 #ifndef DIALOG_H #define DIALOG_H #include <QMainWindow> #include <QImage> #include "ui_fenetreDialog.h" #include "ui_fenetre0.h" #include "Dialog.h" #include "MaFenetre.h" #include <highgui.h> #include <cv.h> #include <cxcore.h> #include<stdio.h> #include<stdlib.h> #include<string.h> #include <iostream> #include "cvaux.h" #include "highgui.h" #include <ctype.h> #include<math.h> #include <QFile.h> #include <stdio.h> #include <string.h> #include <QTextBrowser> namespace Ui { class Dialog; } class Dialog : public QWidget, public Ui::Dialog{ Q_OBJECT public: Dialog(QWidget *parent = 0); ~Dialog(); //*********************************************************************** public: Ui::Dialog *ui; private slots: //les slots personnaisés void rester(); void quitter(); //QString recuper (QString); }; #endif
Quand j’exécute sous la console Qtcommand Prompt j'ai ce message d'erreur:
Aider moi svp. Merci
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 Setting up a MinGW/Qt only environment... -- QTDIR set to C:\Qt\2010.04\qt -- PATH set to C:\Qt\2010.04\qt\bin -- Adding C:\Qt\2010.04\bin to PATH -- Adding C:\Windows\System32 to PATH -- QMAKESPEC set to win32-g++ C:\Qt\2010.04\qt>D: D:\>cd D:\Projet\essai\essai D:\Projet\essai\essai>mingw32-make mingw32-make -f Makefile.Debug mingw32-make[1]: Entering directory `D:/Projet/essai/essai' g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT - DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt \2010.04\qt\include\QtCore" -I"c:\Qt\2010.04\qt\include\QtGui" -I"c:\Qt\2010.04\ qt\include" -I"..\..\..\OpenCV\cv\include" -I"..\..\..\OpenCV\cvaux\include" -I" ..\..\..\OpenCV\cxcore\include" -I"..\..\..\OpenCV\otherlibs\highgui" -I"c:\Qt\2 010.04\qt\include\ActiveQt" -I"debug" -I"." -I"c:\Qt\2010.04\qt\mkspecs\win32-g+ +" -o debug\Dialog.o Dialog.cpp In file included from ..\..\..\OpenCV\cvaux\include/cvaux.h:1458, from Dialog.h:17, from Dialog.cpp:1: ..\..\..\OpenCV\cvaux\include/cvvidsurv.hpp: In constructor 'CvVSModule::CvVSMod ule()': ..\..\..\OpenCV\cvaux\include/cvvidsurv.hpp:94: warning: deprecated conversion f rom string constant to 'char*' In file included from ..\..\..\OpenCV\cvaux\include/cvaux.h:1458, from Dialog.h:17, from Dialog.cpp:1: ..\..\..\OpenCV\cvaux\include/cvvidsurv.hpp: In member function 'virtual void Cv BlobSeq::Write(CvFileStorage*, char*)': ..\..\..\OpenCV\cvaux\include/cvvidsurv.hpp:508: warning: deprecated conversion from string constant to 'char*' ..\..\..\OpenCV\cvaux\include/cvvidsurv.hpp: In constructor 'CvBlobTracker::CvBl obTracker()': ..\..\..\OpenCV\cvaux\include/cvvidsurv.hpp:769: warning: deprecated conversion from string constant to 'char*' Dialog.cpp: In constructor 'Dialog::Dialog(QWidget*)': Dialog.cpp:19: error: expected primary-expression before ')' token Dialog.cpp:27: error: expected ';' before 'QObject' mingw32-make[1]: *** [debug/Dialog.o] Error 1 mingw32-make[1]: Leaving directory `D:/Projet/essai/essai' mingw32-make: *** [debug] Error 2
Partager