пробовал регистрировать так - не помогате... не появляется вообще проперти в дизайнере
#include <QMetaType>
struct Q_DECL_EXPORT CMyTestStruct
{
int m_A;
int m_B;
int m_C;
CMyTestStruct() {}
};
Q_DECLARE_METATYPE( CMyTestStruct );
в самом классе объявлено так:
CMyTestStruct m_test;
Q_PROPERTY( CMyTestStruct test READ getTest WRITE setTest );
Q_PROPERTY( int test2 READ getTest2 WRITE setTest2 );
public:
.............................
inline CMyTestStruct getTest() const { return m_test; }
void setTest( CMyTestStruct test ) { m_test = test; }
inline int getTest2() const { return 555; }
void setTest2( int nVal ) { }
Поле test2 - которое стандартного типа int появляется и работает(аналогично работаю QFont, QString и т.д.) - поле test - которое типа CMyTestStruct не появляется в дизайнере вообще... - рисунок прилагаю
Терзают смутные сомнения что прийдется использовать вот это:
QDesignerPropertySheetExtension -- найти бы рабочий пример использования, чтобы время съэкономить и понять оно или не оно... Не понятно из документации оно может только манипулировать уже существующими пропертями в дизайнере - или может создать новое проперти??? что будет если в метод indexOf передать имя несуществующего проперти - наверняка вернет "-1" - а других ф-ций типа addProperty - в этом интерфейсе управления дизайнером нет - врят ли подойдет...