Russian Qt Forum

Qt => QSS => Тема начата: xokc от Март 04, 2009, 20:20



Название: Qt Stylesheet
Отправлено: xokc от Март 04, 2009, 20:20
В Qt stylesheet имеется  возможность указать стиль для виджета, у которого какое-то свойство равно чему-то. Например, для кнопок у которых flat=false, это делается так:  QPushButton[flat="false"]. А как сделать то же самое, но для более сложных свойств типа iconSize.Width = "16 px" или iconSize = "16px 16px".
QPushButton[iconSize.Width = "16"] тупо не работает, а QPushButton["16px 16px"] не менее тупо крешит Qt Designer.
Qt 4.5.0


Название: Re: Qt Stylesheet
Отправлено: Rcus от Март 05, 2009, 13:53
Открываем vim и начинаем копать... Копаем-копаем и доходим наконец до src/gui/styles/qstylesheetstyle.cpp l:1574 (Qt 4.4.3), метод QStyleSheetStyleSelector::attribute
Читаем до конца и понимаем что свойства несводящиеся к QString не будут работать


Название: Re: Qt Stylesheet
Отправлено: xokc от Март 05, 2009, 19:04
свойства несводящиеся к QString не будут работать
А что такое "свойства несводящиеся к QString"? Для дизайнера QSize замечательно сводится к строке "16 x 16".


Название: Re: Qt Stylesheet
Отправлено: Rcus от Март 05, 2009, 19:06
Цитировать
QString QVariant::toString () const
Returns the variant as a QString if the variant has type() String, Bool, ByteArray, Char, Date, DateTime, Double, Int, LongLong, StringList, Time, UInt, or ULongLong; otherwise returns an empty string.
See also canConvert() and convert().


Название: Re: Qt Stylesheet
Отправлено: xokc от Март 05, 2009, 19:08
Понял. Вопросов больше нет. Посмотрел бы сам, но исходников Qt дома не держу.