Bonjour,

J'ai une application principal, qui charge une dll perso qui embarque Qt.
L'application principale est chargé dans la dll.
J'ai donc une fonction comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    int value = 0;
    QApplication app(_Argc, _Argv);
 
    MainWindow window;
    return (value == 0);
Cette fonction est le point d'entré de mon thread.
Lorsque je quitte le main principale, je me tape le warning suivant:
QObject::~QObject: Timers cannot be stopped from another thread.
J'ai fouillé un peu sur internet, et il semblerait que ce soit parcequ'un QObject est détruit en dehors de mon thread dans lequel je créer l'application.
J'ai donc vérifier toute mes allocations, et à chaque fois, je supprime bien ce qu'il faut.

Sachant que si je retire la ligne concernant mainwindow, je n'ai plus l'erreurs.

J'ai beau chercher, je ne vois pas ce qui cloche. J'ai cherché aussi comment faire pour nettoyer proprement Qt avant de sortir du thread, mais sans succès.

Any idea?

PS: voici mainwindow:
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 <QMainWindow>
 
namespace Ui {
class MainWindow;
}
 
class MainWindow : public QMainWindow
{
    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
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}
 
MainWindow::~MainWindow()
{
    delete ui;
}