Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: jekazz от Январь 09, 2010, 13:31



Название: Установить QPointF property через CSS
Отправлено: jekazz от Январь 09, 2010, 13:31
Использую 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.
Только всё-равно это неправильно, это уже бубен.


Название: Re: Установить QPointF property через CSS
Отправлено: xokc от Январь 09, 2010, 14:34
Видимо проблема аналогична http://www.prog.org.ru/index.php?topic=8759.msg49047#msg49047