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:
Cette fonction est le point d'entré de mon thread.
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);
Lorsque je quitte le main principale, je me tape le warning suivant:
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.QObject::~QObject: Timers cannot be stopped from another thread.
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; }
Partager