Доброго времени суток всем.
Нужно сделать plugin к QTDesigner с widget, который(widget) имеет
свойтво типа QValueList или QMap.
Делаю следующее:
//FacetWidget.h
class FacetWidget : public QWidget
{
Q_OBJECT
Q_PROPERTY( QValueList TestValue2 READ readTestValue2 WRITE
writeTestValue2 )
Q_PROPERTY( QStringList TestValue READ readTestValue WRITE writeTestValue )
public:
QStringList readTestValue() const;
QValueList<QVariant> readTestValue2() const;
public slots:
void writeTestValue( const QStringList &sl );
void writeTestValue2( const QValueList<QVariant> &listVar );
private:
QStringList m_sl;
double m_dListVar;
};
//FacetWidget.cpp
QStringList FacetWidget::readTestValue() const
{
return m_sl;
}
void FacetWidget::writeTestValue( const QStringList &sl )
{
m_sl = sl;
}
QValueList<QVariant> FacetWidget::readTestValue2() const
{
QValueList <QVariant> ret;
ret.append( QVariant(m_dListVar) );
return ret;
}
void FacetWidget::writeTestValue2( const QValueList<QVariant> &listVar )
{
m_dListVar = listVar[0].toDouble();
}
В результате свойство TestValue прекрасно отображается в QTDesigner, a
свойство TestValue2 нет.
Версия QT 3.3.4Evaluation for Windows.
Вопрос возможно ли отобразить свойства типа QValueList или QMap в
QTDesigner? Если да, то что я делаю не правильно?
С уважением
P.S. Понятно, что часть кода вырезана здесь (конструктор и т.д.).