Stylesheet sur class perso
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
Code:
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 |
J'ai essayer (avec m_mainWidget qui est le widget parent de ma classe):
Dans la classe qui instancie mini:
Code:
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 }"); |
Dans le constructeur de la classe mini:
Code:
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 }"); |
Cela ne marche pas non plus sans le ":hover".
Une idée ?