Russian Qt Forum
Сентябрь 30, 2024, 10:22
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Связь двух объектов
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Связь двух объектов (Прочитано 3069 раз)
tornadodead
Гость
Связь двух объектов
«
:
Март 01, 2012, 07:29 »
Вообщем такое дело, есть класс MyTable унаследованный от QTableView, есть MainWIndow в котором инициализируется класс MyTable, и еще lineEdit, так вот нужно при двойном клике по строке таблицы(MyTable) обновить содержиние таблицы(это пустяк, сделал) и в MainWindow в lineEdit вывести данные нажатой ячейки.
Пока один вариант нашел
в MyTable сделать connect doubleClicked, и обновить данные, и в MainWindow сделать connect сигнала doubleClicked таблицы и заполнить lineEdit, но какоето дублирование получается=))).
Хотел разгрузить MainWidow, поэтому создал класс MyTable, чтоб функционал таблицы не фигурировал в MainWindow, но видимо не все так просто=)))так как созданный объект(MyTable) ни чего не знает о том кто его породил, и это правильно!
У кого какие идеи? Видимо спроектировал не привильно!!!
«
Последнее редактирование: Март 01, 2012, 07:31 от tornadodead
»
Записан
spirits25
Гость
Re: Связь двух объектов
«
Ответ #1 :
Март 01, 2012, 08:07 »
а почему бы MyTable'у парента не передать в конструкторе? или просто указатель на MainWindow, чтобы знал куда стучать?
Записан
tornadodead
Гость
Re: Связь двух объектов
«
Ответ #2 :
Март 01, 2012, 08:10 »
Цитата: spirits25 от Март 01, 2012, 08:07
а почему бы MyTable'у парента не передать в конструкторе? или просто указатель на MainWindow, чтобы знал куда стучать?
Думал об этом, но мне кажется с точки ООП это не совсем правильно, или мне просто так кажется?
Записан
Bepec
Гость
Re: Связь двух объектов
«
Ответ #3 :
Март 01, 2012, 08:14 »
Вы немного путаетесь и ещё не пробовали сигналы слоты?
Если вы наследовались от QTableView, то унаследовали и все его сигналы, уже готовые clicked, dblClicked.
Нет нужды ничего выдумывать, просто надо использовать то, что есть.
Записан
tornadodead
Гость
Re: Связь двух объектов
«
Ответ #4 :
Март 01, 2012, 08:18 »
Цитата: Bepec от Март 01, 2012, 08:14
Вы немного путаетесь и ещё не пробовали сигналы слоты?
Если вы наследовались от QTableView, то унаследовали и все его сигналы, уже готовые clicked, dblClicked.
да я знаю, что унаследовал все, и сигналы и т.д., вопрос в другом как обратится из MyTable в MainWidow? Как предложили передать указатель MainWidow в MyTable можно но действительно это правильно будет?
Записан
Bepec
Гость
Re: Связь двух объектов
«
Ответ #5 :
Март 01, 2012, 08:22 »
Зачем тебе обращаться к MainWindow???
Делай проще, не ищи проблем.
При дабл клике (ловишь унаследованный сигнал в QMainWindow) и в нём одновременно обновляешь модель
Код:
аля model_.reset()
и ставишь значения в lineEdit().
В чём проблема???
Записан
tornadodead
Гость
Re: Связь двух объектов
«
Ответ #6 :
Март 01, 2012, 08:26 »
Цитата: Bepec от Март 01, 2012, 08:22
При дабл клике (ловишь унаследованный сигнал в QMainWindow) и в нём одновременно обновляешь модель
Код:
аля model_.reset()
и ставишь значения в lineEdit().
В чём проблема???
сделал так, в MyTable создал слот обновляющий таблицу,а в MainWindow сгенерировал сигнал, а вслоте создал вызов слот из MyTable и оновление lineEdit, вроде все нормально!
«
Последнее редактирование: Март 01, 2012, 09:14 от tornadodead
»
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...