Russian Qt Forum
Ноябрь 22, 2024, 18:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Работа с объектами размещенными на QTabWidget  (Прочитано 5361 раз)
Morgoth
Новичок

Offline Offline

Сообщений: 10


Просмотр профиля
« : Май 04, 2008, 22:19 »

помогите разобраться со следующим вопросом

допустим у меня есть класс АAA который происходит от QWidget:
Код:
class AAA: public QWidget
{
 int a;
 int b;
 ...
};

есть объект tab типа QTabWidget.
Код:
QTabWidget tab;
я хочу размещать на закладках объекта tab объекты типа АAA и делаю это примерно так:
Код:
AAA * TempTab;
TempTab = new AAA();
tab.addTab(TempTab,QString("tab"));
вопрос состоит в следующем, как мне имея объект tab обращаться к объектам типа AAA размещенным на закладках. ведь к примеру функция tab.currentWidget() возвращает указатель на объект типа QWidget. Что-то я совсем запутался, помогите разобраться :-(
Записан
DenKor
Гость
« Ответ #1 : Май 04, 2008, 22:43 »

Используй механизм сигналов и слотов.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #2 : Май 04, 2008, 23:24 »

ведь к примеру функция tab.currentWidget() возвращает указатель на объект типа QWidget. Что-то я совсем запутался, помогите разобраться :-(

А в чем проблема то? Приведи указатель типа QWidget к AAA и будет тебе счастье Подмигивающий Приведение можно выполниться при помощи qobject_cast
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Morgoth
Новичок

Offline Offline

Сообщений: 10


Просмотр профиля
« Ответ #3 : Май 06, 2008, 09:27 »

А в чем проблема то? Приведи указатель типа QWidget к AAA и будет тебе счастье Подмигивающий Приведение можно выполниться при помощи qobject_cast
спасибо за совет. а вообще это нормальная ситуация поступать таким образом? т.е перед работой с виджетом получать сначала ссылку на него, потом приводить его к другому типу, а только потом использовать? слишком громоздко получается. может имеет смысл хранить где-то отдельно ссылки на свои виджеты?
Записан
Вячеслав
Гость
« Ответ #4 : Май 06, 2008, 09:32 »

А это зависит от того , что тебе нужно Подмигивающий Мне проще пробежаться c *_cast<>() - сразу ясно жив ли объект и того-ли он типа(при условии отсутствия ляпов в работе с памятью Подмигивающий ). Хранить указатели где-нибудь ... ну можно наверное ... пока объекты разных типов на вкладках не появяться - опять придеться извращаться Подмигивающий Так-что IMHO cast - лучше  Целующий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.167 секунд. Запросов: 23.