crossplatform.ru

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

4 страниц V  < 1 2 3 4 >  
Ответить в данную темуНачать новую тему
> Property browser
Admin
  опции профиля:
сообщение 12.11.2007, 14:45
Сообщение #21


Администратор
****

Группа: Администратор
Сообщений: 646
Регистрация: 9.10.2007
Из: crossplatform.ru
Пользователь №: 1

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




Репутация:   2  


Если доделаешь, то может выложишь исходники? Я их на сайт повешу.
Просто сейчас намечаю раздельчик в котором будут лежать исходики и краткое описание к ним... :)

p.s. если решишь выложить, то авторство укажи. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_*
сообщение 12.11.2007, 15:58
Сообщение #22





Гости








    


ViGOur
>>Чтобы не рисовались линии, тебе нужно переопределить:
>>void QTreeView::drawBranches(QPainter *painter, const QRect &rect, const QModelIndex &index) const;

Вот ещё метод :) http://doc.trolltech.com/4.3/stylesheet-examples.html в самом конце
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
0xF
  опции профиля:
сообщение 12.11.2007, 16:02
Сообщение #23


Студент
*

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

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




Репутация:   0  


>>Если доделаешь, то может выложишь исходники? Я их на сайт повешу.
ОК :) У меня уже есть рабочий вариант, но я ещё хочу немного доработать функционал :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 12.11.2007, 16:34
Сообщение #24


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Цитата(Гость @ 12.11.2007, 15:58) *
ViGOur
>>Чтобы не рисовались линии, тебе нужно переопределить:
>>void QTreeView::drawBranches(QPainter *painter, const QRect &rect, const QModelIndex &index) const;

Вот ещё метод :) http://doc.trolltech.com/4.3/stylesheet-examples.html в самом конце
Мда, а о таблицах стилей я не подумал, хотя перевожу их... :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
0xF
  опции профиля:
сообщение 24.11.2007, 16:12
Сообщение #25


Студент
*

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

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




Репутация:   0  


Давненько меня тут не было :)

Вобщем сделал я Property Grid, заточенный под мои нужды, правда, немного порочный :) Если надо, могу выложить код, только куда?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 24.11.2007, 17:39
Сообщение #26


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


А качестве аттача сюда можно выложить... :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
0xF
  опции профиля:
сообщение 24.11.2007, 18:14
Сообщение #27


Студент
*

Группа: Участник
Сообщений: 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
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 24.11.2007, 18:42
Сообщение #28


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Цитата(Admin @ 12.11.2007, 14:45) *
p.s. если решишь выложить, то авторство укажи. :)
;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Admin
  опции профиля:
сообщение 24.11.2007, 19:08
Сообщение #29


Администратор
****

Группа: Администратор
Сообщений: 646
Регистрация: 9.10.2007
Из: crossplatform.ru
Пользователь №: 1

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




Репутация:   2  


спасибо, выложу...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Admin
  опции профиля:
сообщение 24.11.2007, 19:46
Сообщение #30


Администратор
****

Группа: Администратор
Сообщений: 646
Регистрация: 9.10.2007
Из: crossplatform.ru
Пользователь №: 1

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




Репутация:   2  


Выложил: Property browser
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

4 страниц V  < 1 2 3 4 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 19.12.2024, 2:03