Я создал CSS для LineEdit.
LineEdit.cpp
void MyLineEdit::initStyleSheet()
{
QString css = Css::instance().css( m_element );
setProperty( "style", "normal" );
setStyleSheet( css );
}
У меня есть отдельный файл .css для стиля:
MyLineEdit.css
....
MyLineEdit[style="Normal"]:focus
{
border: 1px solid red;
}
MyLineEdit[style="Normal"]:disabled
{
border: 1px solid gray;
background: gray;
}
Теперь есть одно странное требование: MyLineEdit
должен иметь метод с именем setNoFrame
, в этой функции мы задаем для него еще одно свойство, и это свойство действительно только для состояния disabled
.
Вот что я сделал:
MyLineEdit::setNoFrame()
{
setProperty("noFrame","true");
initSyleSheet();
}
А это мои обновленные данные .css
....
MyLineEdit[style="Normal"]:focus
{
border: 1px solid red;
}
MyLineEdit[style="Normal"]:disabled
{
border: 1px solid gray;
background: gray;
}
MyLineEdit[style="Normal", noFrame="true"]:disabled
{
border: none;
background: gray;
}
Это не работает, как я ожидал, граница для штатов disabled
и noFrame = true
все еще существует. Есть ли ошибка в комбинировании свойств для CSS выше?