Bonjour a tous,
Comme le titre le dit je voudrais posser un style sur une classe perso afin de lui mettre un bord sur le mose hover. Ma classe hérite de QSFMLCanvas (fichier pour integrer SFML et Qt, dispo sur le site de SFML) et s'affiche correctement.
Mini.h
J'ai essayer (avec m_mainWidget qui est le widget parent de ma classe):
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 #ifndef HEADER_MINI #define HEADER_MINI #include <SFML/Graphics.hpp> #include <iostream> #include <QtGui> #include <string> #include "QSFMLCanvas.h" #include "define.h" class Mini : public QSFMLCanvas { public: Mini(QWidget* Parent, const QPoint& Position, const QSize& Size, QString fileName); ///Open map file and load mini map void openMap(); ///Repaint event void OnUpdate(); ///Init stuff void OnInit(); private: /// Load the images sf::Image m_grass; sf::Image m_wall; sf::Image m_box; sf::Image m_players[4]; ///Get file name of the map QString m_fileName; ///Sprite for the box sf::Sprite m_boxArray[4]; ///Sprites for the map sf::Sprite m_Sprites[default_map_label_width][default_map_label_height]; }; #endif
Dans la classe qui instancie mini:
Dans le constructeur de la classe mini:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 m_mainWidget->setStyleSheet("QWidget:hover { border-style: outset; border-width: 2px; border-color: red }"); m_mainWidget->setStyleSheet("Mini:hover { border-style: outset; border-width: 2px; border-color: red }");
Cela ne marche pas non plus sans le ":hover".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 setStyleSheet("QWidget:hover { border-style: outset; border-width: 2px; border-color: red }"); setStyleSheet("Mini:hover { border-style: outset; border-width: 2px; border-color: red }");
Une idée ?
Partager