Well, strange things in QT happens when I try to load stylesheet, located in separate file
I have a class looks like following:
AClass.h:
{
Q_OBJECT
Q_ENUMS(State)
Q_PROPERTY(State status READ getStatus WRITE setStatus)
Q_PROPERTY(int status_int READ getStatus_int WRITE setStatus_int)
public:
enum State {Ok,Wrong,Unknown};
State getStatus() const {return m_status;}
void setStatus(State status) {m_status=status;}
int getStatus_int() const {return m_status_int;}
void setStatus_int(int status) {m_status_int=status;}
...
private:
State m_status;
int m_status_int;
...
};
class AClass : public QFrame
{
Q_OBJECT
Q_ENUMS(State)
Q_PROPERTY(State status READ getStatus WRITE setStatus)
Q_PROPERTY(int status_int READ getStatus_int WRITE setStatus_int)
public:
enum State {Ok,Wrong,Unknown};
State getStatus() const {return m_status;}
void setStatus(State status) {m_status=status;}
int getStatus_int() const {return m_status_int;}
void setStatus_int(int status) {m_status_int=status;}
...
private:
State m_status;
int m_status_int;
...
};
To copy to clipboard, switch view to plain text mode
AClass.cpp:
m_status(Ok),
m_status_int(0)
{
}
...
AClass::AClass(QWidget *parent) :
QFrame(parent),
m_status(Ok),
m_status_int(0)
{
}
...
To copy to clipboard, switch view to plain text mode
Lines in .css file:
#AClass[status="Ok"] {background-color: lime;} //////////// DO NOT WORK
#AClass[status_int="0"] {{background-color: lime;} /////////// EVERYTHING OK!
Well, in Qt documentation written:
"If the property references an enum declared with Q_ENUMS,
you should reference its constants by name, i.e., not their numeric value."
It seems to me it does not work at all...
Possibly I'm too stupid to understand Q_ENUMS macros... 
Please! Help me anybody)
Bookmarks