[Moved] Blink a QLabel
-
Hi All,
I would like to change the background of a QLabel after an event.
With qt-creator’s designer, I created a QLabel and I adjusted the style sheet of the QLabel like this:
@
QLabel {
Background: blue;
}
@So, when I receive an event, I try to adjust the background color of the QLabel, but it doesn't change. Please see code below:
@
void Form1::KeyPressEvent(QKeyEvent* event){
if (event->key() == Qt::Key_0) {
ui->lblA->setStyleSheet("QLabel {background: red }");
ui->lblB->setStyleSheet("QLabel {background: blue }");
} else if (event->key() == Qt::Key_1) {
ui->lblA->setStyleSheet("QLabel {background: blue }");
ui->lblB->setStyleSheet("QLabel {background: red }");
}
ui->lblA->repaint();
ui->lblB->repaint();
}
@Any ideas?
Thank all
-
Hi,
well, I've just made a test and it works.
Here's the code:
@
class Label : public QLabel
{
Q_OBJECTprotected:
void keyPressEvent(QKeyEvent *event);public:
Label(QWidget *parent = 0);
};
@@
Label::Label(QWidget *parent) :
QLabel(parent)
{
setText("Hello world!");
}void Label::keyPressEvent(QKeyEvent *event)
{
if (event->key() == Qt::Key_0)
setStyleSheet("background-color: rgb(255,0,0);");
else if (event->key() == Qt::Key_1)
setStyleSheet("background-color: rgb(0,0,255);");QLabel::keyPressEvent(event);
}
@Maybe in your case the style sheet text is wrong.
Tony.