Мистика
Еще днём по совету выше добавлял в преопределенный виджет Q_PROPERTY
и всё работало (При нажатии виджет становился красным). Сейчас запустил тот же самый код и уже ничего не работает.
C++ (Qt)
class MyFrame:public QFrame
{
Q_OBJECT
public:
Q_PROPERTY(bool headerPressed READ getHeaderPressed WRITE setHeaderPressed NOTIFY headerPressedChanged)
MyFrame(QWidget *parent = 0):QFrame(parent){
setProperty("headerPressed",false);
setStyleSheet(
"MyFrame{"
"background-color: blue;}"
"MyFrame[headerPressed=true]{"
"background-color: red;}");
}
bool is_pressed;
bool getHeaderPressed() const{return is_pressed;}
void setHeaderPressed(bool pressed){ is_pressed=pressed;}
void mouseReleaseEvent(QMouseEvent *){
setProperty("headerPressed",false);
emit headerPressedChanged(false);
}
void mousePressEvent(QMouseEvent *)
{
setProperty("headerPressed",true);
emit headerPressedChanged(true);
}
signals:
void headerPressedChanged(bool);
};