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:
mais, lors de l’exécution, l'image n'apparais plus.
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); }
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 :
le nom de l'objet est explicitement déclaré.
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" ""));
j'ai essayé aussi:
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 FGField->setStyleSheet(QString::fromUtf8("border-image: url(':/bitesimulator/fonds/fond_gris.bmp"));
résultat : aucune image nulle part.
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" ""));
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.
Partager