Название: Связь двух объектов Отправлено: tornadodead от Март 01, 2012, 07:29 Вообщем такое дело, есть класс MyTable унаследованный от QTableView, есть MainWIndow в котором инициализируется класс MyTable, и еще lineEdit, так вот нужно при двойном клике по строке таблицы(MyTable) обновить содержиние таблицы(это пустяк, сделал) и в MainWindow в lineEdit вывести данные нажатой ячейки.
Пока один вариант нашел в MyTable сделать connect doubleClicked, и обновить данные, и в MainWindow сделать connect сигнала doubleClicked таблицы и заполнить lineEdit, но какоето дублирование получается=))). Хотел разгрузить MainWidow, поэтому создал класс MyTable, чтоб функционал таблицы не фигурировал в MainWindow, но видимо не все так просто=)))так как созданный объект(MyTable) ни чего не знает о том кто его породил, и это правильно! У кого какие идеи? Видимо спроектировал не привильно!!! Название: Re: Связь двух объектов Отправлено: spirits25 от Март 01, 2012, 08:07 а почему бы MyTable'у парента не передать в конструкторе? или просто указатель на MainWindow, чтобы знал куда стучать?
Название: Re: Связь двух объектов Отправлено: tornadodead от Март 01, 2012, 08:10 а почему бы MyTable'у парента не передать в конструкторе? или просто указатель на MainWindow, чтобы знал куда стучать? Думал об этом, но мне кажется с точки ООП это не совсем правильно, или мне просто так кажется?Название: Re: Связь двух объектов Отправлено: Bepec от Март 01, 2012, 08:14 Вы немного путаетесь и ещё не пробовали сигналы слоты?
Если вы наследовались от QTableView, то унаследовали и все его сигналы, уже готовые clicked, dblClicked. Нет нужды ничего выдумывать, просто надо использовать то, что есть. Название: Re: Связь двух объектов Отправлено: tornadodead от Март 01, 2012, 08:18 Вы немного путаетесь и ещё не пробовали сигналы слоты? да я знаю, что унаследовал все, и сигналы и т.д., вопрос в другом как обратится из MyTable в MainWidow? Как предложили передать указатель MainWidow в MyTable можно но действительно это правильно будет?Если вы наследовались от QTableView, то унаследовали и все его сигналы, уже готовые clicked, dblClicked. Название: Re: Связь двух объектов Отправлено: Bepec от Март 01, 2012, 08:22 Зачем тебе обращаться к MainWindow???
Делай проще, не ищи проблем. При дабл клике (ловишь унаследованный сигнал в QMainWindow) и в нём одновременно обновляешь модель Код: аля model_.reset() В чём проблема??? Название: Re: Связь двух объектов Отправлено: tornadodead от Март 01, 2012, 08:26 При дабл клике (ловишь унаследованный сигнал в QMainWindow) и в нём одновременно обновляешь модель сделал так, в MyTable создал слот обновляющий таблицу,а в MainWindow сгенерировал сигнал, а вслоте создал вызов слот из MyTable и оновление lineEdit, вроде все нормально!Код: аля model_.reset() В чём проблема??? |