salut à tous,
je rencontre un problème dans la programmation d'un jeu d'échec avec QT.
j'ai un QGridLayout avec dedans des QPushButton
J'ai fixé sur les boutons les images des pièces correspondantes de cette façon :
Pour les cases vides je les ai fait toutes blanches par
Code : Sélectionner tout - Visualiser dans une fenêtre à part boutons[0]->setStyleSheet("background-image: url('images/tournoir.png');" );
Lorsque je clique sur une pièce, ça me propose les possibilités de déplacement en colorant les cases possibles en gris :
Code : Sélectionner tout - Visualiser dans une fenêtre à part boutons[i]->setStyleSheet("background-color: white;" );
je récupère l'objet à la bonne position, je le transforme en widget car je n'ai pas la méthode setStyleSheet sinon et je modifie donc le background-color.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 QLayoutItem *item=layout->itemAtPosition(7-it->first,it->second); QWidget *wid=item->widget(); wid->setStyleSheet("background-color : grey;" );
le problème c'est que si dans les cases possibles il y a une pièce adverse(dans le cas où on peut prendre une pièce adverse) la case se colore en gris mais je ne vois donc plus l'image de la pièce!
j'ai essayer au lieu de colorer en gris de faire border-color : red mais non seulement les bords ne sont pas rouges mais en plus l'image de la pièce est effacé et le bouton prend sa couleur par défaut.
je vous demande donc de l'aide pour remédier à cela.
merci d'avance
Partager