Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: tamburin73 от Май 27, 2005, 19:13



Название: Q_PROPERTY и QValueList
Отправлено: tamburin73 от Май 27, 2005, 19:13
Доброго времени суток всем.

Нужно сделать 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. Понятно, что часть кода вырезана здесь (конструктор и т.д.).