Отсутствует свойство типа void* в QTreeWidgetItem |
Здравствуйте, гость ( Вход | Регистрация )
Отсутствует свойство типа void* в QTreeWidgetItem |
Darvin |
5.12.2007, 11:44
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 36 Регистрация: 30.11.2007 Пользователь №: 30 Спасибо сказали: 0 раз(а) Репутация: 0 |
Не могу найти у QTreeWidgetItem свойство типа void* для связывания с произвольным экземпляром данных.
В других библиотеках, как правило, есть подобное свойство у класса Узла дерева. Неужели единственный выход это наследование и созднание собственного класса? |
|
|
ViGOur |
5.12.2007, 11:49
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Если я не ошибаюсь, то для этих целей используется:
и
|
|
|
Darvin |
5.12.2007, 16:03
Сообщение
#3
|
Студент Группа: Новичок Сообщений: 36 Регистрация: 30.11.2007 Пользователь №: 30 Спасибо сказали: 0 раз(а) Репутация: 0 |
Это если типы совместимы с Variant, чаще всего, строчные или численные данные.
Мне же нужно связать с узлом дерева экземпляр класса QGraphicsPixmapItem из сцены. В графической сцене элементы хранятся в списке, а мне нужно отобразить список на древесную структуру и на виджет. Для этого и нужен void* При выборе элемента дерева, вызвать метод контейнера, содержащего элемент(в данном случае MyQGraphicsScene), передать в него указатель, там выполнить приведение типа и выделить пунктиром на сцене, соответсвующее изображение. |
|
|
ViGOur |
5.12.2007, 16:56
Сообщение
#4
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Пример того, как обращаться в QVariant спользовательским типом:
|
|
|
Darvin |
10.12.2007, 14:22
Сообщение
#5
|
Студент Группа: Новичок Сообщений: 36 Регистрация: 30.11.2007 Пользователь №: 30 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
ViGOur |
10.12.2007, 14:56
Сообщение
#6
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Можно, если я правильно тебя понял, вот пример:
|
|
|
Swappp |
10.12.2007, 16:52
Сообщение
#7
|
Студент Группа: Новичок Сообщений: 20 Регистрация: 26.11.2007 Пользователь №: 25 Спасибо сказали: 1 раз(а) Репутация: 1 |
void* можно без проблем хранить в QVariant. Он уже объявлен в Qt как поддерживаемый тип. Работать с ним так же как и с другими типами например из QtGui.
Сообщение отредактировал Swappp - 10.12.2007, 16:52 |
|
|
Darvin |
12.12.2007, 13:54
Сообщение
#8
|
Студент Группа: Новичок Сообщений: 36 Регистрация: 30.11.2007 Пользователь №: 30 Спасибо сказали: 0 раз(а) Репутация: 0 |
Всем спасибо за примеры и инфу. Буду дальше копать.
|
|
|
Текстовая версия | Сейчас: 20.12.2024, 7:05 |