Bonjour,

Je suis entrain coder une petite lib pour mon utilisation personnel dans la finalité de l'utiliser lors des mes différents projets.

Donc dans ma lib, j'ai une classe MMainWindow qui hérite de QMainwindow, qui me permettra de faire certaine action commune au différente application que je développerai.

Voici la classe en question :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
#ifndef MMAINWINDOW_H
#define MMAINWINDOW_H
 
#include <QtWidgets>
 
class MMainWindow : public QMainWindow
{
    Q_OBJECT
public:
    explicit MMainWindow(QWidget *parent = 0);
};
 
#endif // MMAINWINDOW_H
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
#include "MMainWindow.h"
 
MMainWindow::MMainWindow(QWidget *parent) : QMainWindow(parent)
{
    //this->setWindowTitle(windowTitle + " - Midori");
 
    this->setCentralWidget(new QWidget());
    this->centralWidget()->setLayout(new QHBoxLayout());
}
La classe est vraiment minimaliste.

Ensuite, j'ai linké la lib grâce au menu de Qt Creator(ben oui pourquoi s’embêter ). Mais dans le doute, voici mon fichier .pro de l'application :

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
 
#-------------------------------------------------
#
# Project created by QtCreator 2013-07-10T05:44:41
#
#-------------------------------------------------
 
QT       += core widgets
 
TARGET = Uinstaller
TEMPLATE = app
 
SOURCES += main.cpp\
        mainwindow.cpp
 
HEADERS  += mainwindow.h
 
FORMS    += mainwindow.ui
 
 
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../MidoriLib/bin/release/ -lMidoriLib
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../MidoriLib/bin/debug/ -lMidoriLib
 
INCLUDEPATH += $$PWD/../MidoriLib/src
DEPENDPATH += $$PWD/../MidoriLib/src
Et enfin la classe qui hérite de MMainWindow :

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
 
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include <MCore/MMainWindow.h>
 
namespace Ui {
class MainWindow;
}
 
class MainWindow : public MMainWindow
{   
    Q_OBJECT
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
 
private:
    Ui::MainWindow *ui;
};
 
#endif // MAINWINDOW_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
 
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
MainWindow::MainWindow(QWidget *parent) : MMainWindow(parent), ui(new Ui::MainWindow)
{
    //ui->setupUi(this);
 
    //this->_settingsX86 = new QSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall", QSettings::NativeFormat);
    //this->_settingsX64 = new QSettings("HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall", QSettings::NativeFormat);
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
J'ai eu beau cherche sur avec amis google, je n'ai pas trouvé de problème similaire :-/. Alors je me suis demandé si je n'avais pas un problème de link, ou si l'héritage en cascade posé problème(peut être les deux aussi).

Voila, après une nuit acharné a essayé de trouver une solution je m'en remets a vous


EDIT: Soyez tolérant pour les fautes, après une nuit blanche je ne suis plus très frais