Bonjour,
je réalise actuellement une petit widget avec Qt designer et je souhaiterais rajouter une image en fond.
lorsque j'édite le syle sheet avec le designer tout va bien et l'image est correctement affichée en fond dans mon widget:
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
QWidget#FGfield
{
border-image: url(:/bitesimulator/fonds/fond_gris.bmp);
}
mais, lors de l’exécution, l'image n'apparais plus.

j'ai fait plusieurs test et l'erreur n'apparais que lorsque j'associe l'image au Widget "principal" FGfield:
si je remplace "FGfield" par le nom d'un autre widget de la fenêtre, l'image leur est bien associée.
L'erreur peut provenir du fait que lorsque il veux associer le style à l'objet FGfield, il ne trouve pas d'objets de ce nom. or, si je regarde le code généré par Qt designer :
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
FGfield->setObjectName(QString::fromUtf8("FGfield"));
FGfield->setStyleSheet(QString::fromUtf8("QWidget#FGfield\n"
"{\n"
"border-image: url(:/bitesimulator/fonds/fond_gris.bmp);\n"
"}\n"
""));
le nom de l'objet est explicitement déclaré.

j'ai essayé aussi:
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
FGField->setStyleSheet(QString::fromUtf8("border-image: url(':/bitesimulator/fonds/fond_gris.bmp"));
résultat : tous les Widget sauf le bon ont l'image en fond.
Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
FGField->setStyleSheet(QString::fromUtf8("#FGfield\n"
"\n"
"{\n"
"border-image: url(:/bitesimulator/fonds/fond_gris.bmp);\n"
"}\n"
""));
résultat : aucune image nulle part.
je ne sais pas pourquoi ni a quel moment l'objet "FGfield" change de nom.

je précise, au cas ou ce serais lié que Qt génère une classe Ui_FGfield à partir de FGfield.ui,
et que j'hérite de cette classe pour créer ma fenêtre BiteWidgetFGfield,
et c'est cette dernière que j’affiche.
un idée de pourquoi mon image n'apparais pas à l’exécution ?
Merci.