Работа с QTabWidget, взаимодействие между классами. |
Здравствуйте, гость ( Вход | Регистрация )
Работа с QTabWidget, взаимодействие между классами. |
RazrFalcon |
5.4.2011, 14:46
Сообщение
#1
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Как я понял работу:
создаем на форму QTabWidget; затем создаем классы, наследники QWidget; в этих классам создаем нужные нам элементы GUI; в класс нашего главного окна добавляем что то в духе: .В итоге получаем по классу для каждого таба. Как я понял. Проблема в том, что я не пойму, как теперь обратится к главному окну из класса-таба. К примеру мне нужно изменить ячейку в таблице (2-й таб), а ввожу я в первом табе. Ну или банально изменить размер окна из таба. Ведь setGeometgy вызваный из первого таба не повлияет на главное окно. PS: табы только для примера, текущего, проблема больше в взаимосвязями с классами. Пример: есть 2-а класса. Главный: WallWindow, и класс таба: ListTab. Что бы что то изменить в табе ListTab из WallWindow, я делаю следующие: Это правильно?
Сообщение отредактировал RazrFalcon - 5.4.2011, 15:55 |
|
|
wiz29 |
12.4.2011, 13:31
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12 |
Сделай проще архитектурно, у тебя есть один диалог с табом, причем табы не динамические.
Тут у тебя есть уже готовые объекты которыми будешь управлять из WallWindow. ListTab и FolderTab у тебя вообще не используется, тк вся форма создается в дизайнере вместе с наполнением. У тебя есть доступ ко всем объектам табов по именам в любой части WallWindow, поэтому не стесняясь можно создавать нужные слоты в WallWindow и наполнять функциональностью. P.S. не забывай нормально именовать объекты в QtDesigner, самому будет проще разбираться что к чему, тк имена переменных pushButton1, pushButton2 не информативны
Остальные классы тебе в данном случае не нужны |
|
|
Текстовая версия | Сейчас: 24.4.2024, 7:18 |