Использую Qt 4.6.0, где есть возможность устанавливать через CSS значения свойств, обозначенных в классе Q_PROPERTY, то есть, пример:
Имеем пользовательский класс
class MyButton: publi QPushButton
{
Q_OBJECT
Q_PROPERTY(int someProperty READ someProperty WRITE setSomeProperty)
public:
int someProperty() const;
void setSomeProperty();
};
А в CSS описываем стиль:
MyButton
{
qpropert-someProperty: 5;
}
В таком виде работает. Но мне нужно устанавливать свойство типа QPointF:
Q_PROPERTY(QPointF someProperty READ someProperty WRITE setSomeProperty)
И не знаю как задать его в CSS. Пробовал так, не работает:
MyButton
{
qpropert-someProperty: 5 5;
}
Как его установить? QPointF поддерживается QVariant-ом, но, видимо, CSS парсер, считывая "5 5" не воспринимает это как QPointF. Та же ситуация и с целочисленным QPoint. Я уже перепробывал комбинации:
5 5
5px 5px
5,5
5px,5px
(5 5)
(5px 5px)
(5,5)
(5px,5px)
(5;5)
(5px;5px)
(5:5)
(5px:5px)
и т.д. с фигурными {} и квадратными [] скобками. Ни один вариант не катит. Пока вышел из положения тем, что свойство сделал типа QSize, в принципе, почти то же самое - 2 переменные, хотя и целочисленные, а не дробные. Тогда в стиле можно передавать 5px 5px.
Только всё-равно это неправильно, это уже бубен.