![]() |
|
|
![]()
|
|
| anatox91 |
|
||||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: нет Всего: 13 |
есть QList<QTreeWidgetItem*>, получаемый с помощью QTreeWidget::selectedItems(). Нужно брать первый элемент контейнера(в нем больше быть и не может) и для работы с ним преобразовать этот элемент в мой тип(TreeItem*, класс унаследованный от QTreeWidgetItem). Вот проблемный участок кода:
но компилятор ругается:
как с этим бороться? или может для указателей нужно использовать какие-то другие контейнеры, специализированные? -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
||||
|
|||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
В Qt не все классы основаны на QObject'е. QTreeWidgetItem также как и QString и другие классы - не наследники QObject'a. Используй стандартные c++совские касты, dynamic_cast<>() или reinterpret_cast<>().
|
|||
|
||||
| Torsten |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 10.6.2008 Где: Pskov Репутация: 3 Всего: 7 |
reinterpret_cast<> - предназначен для преобразования разных типов, не имеющих связей.
Нужно использовать либо dynamic_cast, либо static_cast. dynamic нужно использовать, в случае если точно не известно какому классу принадлежит элемент, он проивзодит дополинтельные дейстия (для проверки возможности преобразования), поэтому он медленнее чем другие преобразования. Если программист точно знает, что здесь будет нужный ему тип, то лучше static_cast использовать. Это сообщение отредактировал(а) Torsten - 2.8.2008, 10:39 --------------------
We have no begining, we have no end. We are infinite. |
|||
|
||||
| anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: нет Всего: 13 |
всем спасибо за помощь, со static_cast'ом заработало
-------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |