crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Property browser
Гость_0xFF_*
сообщение 9.11.2007, 21:32
Сообщение #1





Гости








    


День добрый :)

Пишу программу, очень нужен property browser, кто-нибудь реализовывал такой компонент на Qt? С чего начать? Видел такой в Qt Solutions, но они не дают его даже для разработки некоммерческой/open-source проги :(( Думал может кто-нить в сети расшарил(все равно никакой коммерческой выгоды с проги не буду иметь, да и для себя пишу :) ) - тоже нету :(. Один выход - писать самому... может кто поможет чем-нить? :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
0xF
  опции профиля:
сообщение 24.11.2007, 18:14
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 71
Регистрация: 12.11.2007
Пользователь №: 20

Спасибо сказали: 0 раз(а)




Репутация:   0  


// ** Пример использования
class cSomeClass {
private:

    float         fProperty;
    int           iProperty;
    float         vProperty[2]; // двухмерный вектор
    byte          cProperty[4]; // цвет
    std::string   sProperty;
    bool          bProperty;

    ...

public:
    ...
    // ** Основной порок - кривоватая система для описания свойств объекта, не было времени сделать что-нить более толковое :)
    QPropertyGrid::sPropertyDef* CreatePropertyDef( void ) {
         QPropertyGrid::sPropertyDef *def = new QPropertyGrid::sPropertyDef[ 7 ];

         def[0].name   = "Float property";
         def[0].type     = QPropertyGrid::T_FLOAT;
         def[0].pointer = &fProperty;
         def[0].minf     = -10.0f;
         def[0].maxf    = 10.0f;

         def[1].name   = "Int property";
         def[1].type     = QPropertyGrid::T_INT;
         def[1].pointer = &iProperty;

         def[2].name   = "2D Vector";
         def[2].type     = QPropertyGrid::T_VECTOR2;
         def[2].pointer = vProperty;
         memcpy( def[2].captions.xCaption, "min", 4 );   // ** Это вообще жуть :)
         memcpy( def[2].captions.yCaption, "max", 4 );

         def[3].name   = "Color property";
         def[3].type     = QPropertyGrid::T_COLOR;
         def[3].pointer = cProperty;

         def[4].name   = "String property";
         def[4].type     = QPropertyGrid::T_STRING;
         def[4].pointer = &sProperty;

         def[5].name   = "Bool property";
         def[5].type     = QPropertyGrid::T_BOOL;
         def[5].pointer = &bProperty;

         def[6].type     = QPropertyGrid::T_TOTAL; // Конец описания
    }

    ...
};

// ** Собственно связывание QPropertyGrid с объектом
QPropertyGrid:::sPropertyDef *def = someClassObject->CreatePropertyDef();
propertyGrid->SetObject( def );

delete[]def;


Код
Прикрепленный файл  QPropertyGrid.zip ( 8,78 килобайт ) Кол-во скачиваний: 880
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- 0xFF   Property browser   9.11.2007, 21:32
- - ViGOur   В чем именно проблема, в реализации? Просто одно д...   9.11.2007, 22:02
- - ViGOur   Вот есть статья как создать свой The Property Brow...   9.11.2007, 22:32
- - Гость   Хорошо, задам конкретный вопрос Можно ли в QTreeW...   11.11.2007, 14:06
- - Гость   Так, вопрос с виджетами снят, все оказалось проще ...   11.11.2007, 14:45
- - ViGOur   Может QTreeWidgetItem::setChildIndicatorPolicy c ...   11.11.2007, 15:33
- - ViGOur   А вообще, я где-то видел на vb + qt реализацию pro...   11.11.2007, 15:53
- - Гость   Не помогло. Вообще ничего не происходит с любыми п...   11.11.2007, 15:57
- - ViGOur   Нашел пример: Value Browser 3. Ща гляну, что там ...   11.11.2007, 16:09
- - Гость   Классный пример Только вот судя по скрину у них т...   11.11.2007, 16:33
- - ViGOur   Угу, я тоже это заметил У меня пока комп чистый, ...   11.11.2007, 16:37
- - Гость   Что-то мне кажется, что от вертикальных линий не и...   11.11.2007, 17:21
|- - Admin   Цитата(Гость @ 11.11.2007, 17:21) Можно л...   12.11.2007, 9:15
- - ViGOur   setItemDelegate(new TValueItemDelegate(this)); ???...   11.11.2007, 17:27
- - Гость   setItemDelegate установит делегат для всех элемент...   11.11.2007, 17:41
- - ViGOur   Этот вопрос тоже требует времени для ответа, пока ...   11.11.2007, 20:04
- - Гость   Может можно как-то по-другому заменить код отрисов...   11.11.2007, 20:28
- - ViGOur   С линиями, думаю, можно обычной вставкой иконок дл...   11.11.2007, 23:35
- - ViGOur   Чтобы не рисовались линии, тебе нужно переопредели...   12.11.2007, 10:05
- - Гость   Admin ViGOur Спасибо! Щас буду пробовать   12.11.2007, 14:41
- - Admin   Если доделаешь, то может выложишь исходники? Я их ...   12.11.2007, 14:45
|- - ViGOur   Цитата(Admin @ 12.11.2007, 14:45) p.s. ес...   24.11.2007, 18:42
- - Гость   ViGOur >>Чтобы не рисовались линии, тебе нуж...   12.11.2007, 15:58
|- - ViGOur   Цитата(Гость @ 12.11.2007, 15:58) ViGOur ...   12.11.2007, 16:34
- - 0xF   >>Если доделаешь, то может выложишь исходник...   12.11.2007, 16:02
- - 0xF   Давненько меня тут не было Вобщем сделал я Prope...   24.11.2007, 16:12
- - ViGOur   А качестве аттача сюда можно выложить...   24.11.2007, 17:39
- - 0xF   // ** Пример использования class cSomeClass { priv...   24.11.2007, 18:14
- - Admin   спасибо, выложу...   24.11.2007, 19:08
- - Admin   Выложил: Property browser   24.11.2007, 19:46
- - Admin   Тему разделил, сообщения перенесены в новую тему: ...   26.11.2007, 14:08


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


13 чел. читают эту тему (гостей: 13, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 20.12.2024, 1:08