Bonjour tout le monde,
je suis entrain de découvrir Qt, mais je fais face à un problème. En effet je souhaite avoir accès au constructeur de la classe Convertion dans la classe MainWindow. Jusqu'à la pas de problème me diriez-vous. Or le problème est que dans le main.cpp on m'affiche l'erreur suivante : No matching constructor for initialization of "MainWindow". Ou ai-je fait mon erreur ?
Cdt
MainWindow.h
Mainwindow.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 #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include "ui_mainwindow.h" #include "aide.h" #include "convertion.h" QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow,public Convertion { Q_OBJECT public: MainWindow(QString,double,QWidget *parent = nullptr); ~MainWindow(); double Temperature_Col(double&,double&); double Vitesse_Fluide(double&); double Pression_Col(double&); double Debit_Massique(double&); double Pression_Exterieur(double,double,float); double Vitesse_Ejection_Gaz(); double Poussee_Z(); double Pression_Sortie(); QString Tuyere_Adaptee();
Convertion.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 #include "ui_mainwindow.h" #include "aide.h" #include "bloc_calcul.h" #define INTENSITE_PESENTEUR 9.807 #define CSTE_UNI_GAZ 8.314462618 #define Masse_Molaire_Air 0.029 using namespace std; MainWindow::MainWindow(QString Valeur_a,double Valeur_b,QWidget *parent) :Convertion(Valeur_a,Valeur_b),QMainWindow(parent),ui(new Ui::MainWindow){ ui->setupUi(this); this->setWindowTitle("Nozzle perf"); QPixmap pix(":/images/images/background.png"); ui->label_Background_Mainwindow->setPixmap(pix);}
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 #ifndef CONVERTION_H #define CONVERTION_H #include <QMainWindow> #include "mainwindow.h" class Convertion { public: Convertion(QString, double); double Convertion_Temperature(); double Convertion_Poussee(); double Convertion_Pression(); private : float retour_Valeur; double b; QString a; };
Convertion.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 #include "convertion.h" Convertion::Convertion(QString Valeur_a,double Valeur_b) : a(Valeur_a),b(Valeur_b) { } double Convertion::Convertion_Temperature(){ if(a == "°C"){retour_Valeur = b+273.15 ;} else if(a == "F"){retour_Valeur = (((b-32)/1.8)+273.15);} else{retour_Valeur = b;} return retour_Valeur; } double Convertion::Convertion_Poussee(){ if(a == "kN"){ retour_Valeur = b/1000;} else{ retour_Valeur = b;} return retour_Valeur; } double Convertion::Convertion_Pression(){ if(a == "bar"){ return retour_Valeur = b * 100000;} else if (a == "atm"){return retour_Valeur = b*101325 ; } else if(a == "PSI"){return retour_Valeur = b*6894,75729317831;} else{ return retour_Valeur = b;} }
Partager