Couleur QPushButton juste au survole
J'ai 2 classes:
MM_Test qui contient ceci:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
MM_Test::MM_Test(QWidget *parent) : QDialog(parent) {
mmw = new MM_Widget(this);
but = new QPushButton(this);
this->resize(300, 50);
connect(but, SIGNAL(clicked()), this, SLOT(setColor()));
}
void MM_Test::setColor() {
QColor *col = new QColor(255, 0, 0, 0);
mmw->setColor(col);
} |
MM_Widget qui dérive de QWidget
Code:
1 2 3 4 5 6 7 8 9
|
void MM_Widget::setColor(QColor *col) {
if(col->isValid()) {
*mm_color = *col;
QPalette pal = colorButton->palette();
pal.setColor(QPalette::Button, *mm_color);
colorButton->setPalette(pal);
}
} |
La nouvelle couleur de colorButton n'apparait que lorsque je le survole avec ma souris. Si je clic sut but
Lorsque je clic sur mon bouton (colorButton), j'appelle ce code:
Code:
1 2 3 4 5 6 7 8 9
| void MM_Widget::updateColor() {
QColor col = QColorDialog::getColor(*mm_color, this);
if(col.isValid()) {
*mm_color = col;
QPalette pal = colorButton->palette();
pal.setColor(QPalette::Button, *mm_color);
colorButton->setPalette(pal);
}
} |
et là, aucun soucis.
Où ai-je pêché? :?