Bonjour, je veux creer un systray animé avec qt à partir d'une image gif dont je dispose, et qui est animée.
Le problème c'est que quand je reduis la fenetre ,l'image apparait bien dans la barre des taches, mais sans l'animation.Voila le code :

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
 
#include "window.hpp"
 
Window::Window() : QWidget()
{
	createActions(); // création de restaure et quite
 
	text = new QLabel("Texte 0", this);
	resize(300,100);
 
	sticon = new QSystemTrayIcon(this); // on construit notre icône de notification
 
	// Création du menu contextuel de notre icône
	QMenu* stmenu = new QMenu(this);
 
	stmenu->addAction(actTexte1);
	stmenu->addAction(actTexte2);
	stmenu->addAction(restoreAction);
	stmenu->addAction(quitAction);
 
	sticon->setContextMenu(stmenu); // On assigne le menu contextuel à l'icône de notification
 
	QIcon icon("icon.gif");
 
	sticon->setIcon(icon); // On assigne une image à notre icône
 
	sticon->show(); // On affiche l'icône
 
}
 
 
 void Window::closeEvent(QCloseEvent *event)  // c la la feinte de la surcharge !!!
 {
     if (sticon->isVisible()) {
         QMessageBox::information(this, "Test", "Le prog continu a tourner et on ignore le close xD j'V plenter mon systeme moi");
         hide();
         event->ignore();
     }
	sticon->showMessage("yop","Je suis la"); // On affiche une infobulle
 
 }
 
 
 void Window::createActions()
 {
 
     restoreAction = new QAction("Restaurer", this);
     connect(restoreAction, SIGNAL(triggered()), this, SLOT(showNormal())); // le showNormal est bien le slot qu'il nous faut ... en opposition au hide
 
     quitAction = new QAction("Quitter", this);
     connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
 
	actTexte1 = new QAction("Texte1",this);
	connect(actTexte1, SIGNAL(triggered()), this, SLOT(changeTexte1()));
 
	actTexte2 = new QAction("Texte2",this);
	connect(actTexte2, SIGNAL(triggered()), this, SLOT(changeTexte2()));
 }
 
 
void Window::changeTexte1()
{
	text->setText("Texte 1");
}
 
void Window::changeTexte2()
{
	text->setText("Texte 2");
}