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:

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;
}
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
#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:

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
Aider moi svp. Merci