Bonjour à tous,

J'ai fait le code de test que voici qui fonctionne comme je le souhaite

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
 
#include <QApplication>
#include <QtWidgets>
 
int main(int argc, char *argv[])
{
	QApplication app(argc, argv);
 
	QMainWindow *window = new QMainWindow();
 
	// on met en place la gestion des fenetres multiples
	QMdiArea *mdiArea = new QMdiArea;
	mdiArea->setViewMode(QMdiArea::SubWindowView);
	window->setCentralWidget(mdiArea);
 
	// On met en place la sous fenetre
	QMdiSubWindow *subWindow = new QMdiSubWindow();
	subWindow->setWindowState(Qt::WindowMaximized);
	mdiArea->addSubWindow(subWindow, Qt::SubWindow);
 
	// On met en place un objet quelconque histoire d'afficher quelque chose
	QPushButton *bouton = new QPushButton("Mon bouton entre en scene !");
	QGraphicsScene scene;
	QGraphicsProxyWidget *proxy = new QGraphicsProxyWidget();
	proxy->setWidget(bouton);
	scene.setSceneRect(-150, -150, 300, 300);
 
	// On met en place la scene à afficher dans la vue
	scene.addItem(proxy);
 
	// On teste différent traitement
//	proxy->setPos(200, 150);	// On bouge
//	proxy->setRotation(45);		// On rotationne ;)
//	proxy->setScale(2);			// On zoome
 
	QGraphicsView view(&scene);
	subWindow->setWidget(&view);
 
	window->show();
 
	return app.exec();
}
Puis j'ai reporté ce code dans un projet un peut plus abouti.
Et là cela ne fonctionne plus.
Ca m'affiche bien ma QMdiSubWindow mais vide.

Je galère depuis plusieurs jours la dessus.
Est ce que quelqu'un peut me dire ce que je fait mal ?

le .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
 
#ifndef TESTGRAPHICS_H
#define TESTGRAPHICS_H
 
#include <QMainWindow>
#include "ui_TestGraphics.h"
 
 
class TestGraphics : public QMainWindow
{
	Q_OBJECT
 
public:
	TestGraphics(QWidget *parent = Q_NULLPTR);
	~TestGraphics();
 
private:
	Ui::TestGraphicsClass *ui;
};
 
#endif // !TESTGRAPHICS_H
Le .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
 
#include "TestGraphics.h"
#include <QtWidgets>
 
 
TestGraphics::TestGraphics(QWidget *parent) : QMainWindow(parent), ui(new Ui::TestGraphicsClass)
{
	ui->setupUi(this);
 
	// on met en place la gestion des fenetres multiples
	QMdiArea *mdiArea = new QMdiArea;
	mdiArea->setViewMode(QMdiArea::SubWindowView);
	setCentralWidget(mdiArea);
 
	// On met en place la sous fenetre
	QMdiSubWindow *subWindow = new QMdiSubWindow();
	mdiArea->addSubWindow(subWindow, Qt::SubWindow);
	subWindow->setWindowState(Qt::WindowMaximized);
 
	// On met en place un objet quelconque histoire d'afficher quelque chose
	QPushButton *bouton = new QPushButton("Mon bouton entre en scene !");
	QGraphicsProxyWidget *proxy = new QGraphicsProxyWidget();
	proxy->setWidget(bouton);
 
	// On met en place la scene à afficher dans la vue
	QGraphicsScene scene;
	scene.setSceneRect(-150, -150, 300, 300);
	scene.addItem(proxy);
 
	// On teste différent traitement
//	proxy->setPos(200, 150);
//	proxy->setRotation(45);
//	proxy->setScale(2);
 
 
	QGraphicsView view(&scene);
 
	subWindow->setWidget(&view);
//	view.show();
 
}
 
TestGraphics::~TestGraphics() {
	delete ui;
}
Merci d'avance pour votre aide