своими параметрами, к примеру Station.
У него должно быть диалоговое окно и он должен выбираться кликом из меню.
Вопрос, правильно ли делать множественное наследование классу Station от классов QDialog и QListItem?
Просто тогда можно двух зауцев сразу убить и запихать все в один удобный класс который можно напрямую в QListView подавать...
Просто вопрос в том что если обьектов Station будет очень много... то такждый обьект будет иметь свое окно.
Ну типа памяти много будет занимать, наверное... или не?
Я прост не до конца освоился еще.
Хз как правильно сделать.
Если можно обойтись без множественного наследования, то обходитесь. Памяти немного, кутешные классы хранят всё что могут в куче.
Ну там какаято дичь получается без множественного наследования. Типа сделать в том же QListView ещё один массив с указателями на Station. По клику передавать их в диалог и т.д....
Агрегирование лучше наследования
Передавайте в диалог указатель на текущий Station а не на массив.
Как в таком случае вносить изменения из диалога в station? Сигналом?
Так если диалог имеет доступ к объекту Station то в чем возникает проблема?
Неправильно вопрос сформулировал. Спасибо за ответы. Сам немного запутался)
Еще небольшой вопрос. Можно ли вызвать QDialog из класса Station для изменения самого же Station? Рекурсия #include получается прост.
Так если я всё правильно понял, то в листе у вас хранятся указатели на Station, для каждого элемента листа вы можете вызвать QDialog, который будет иметь доступ к текущему элементу. Зачем тогда вызывать QDialog изнутри Station? В конце концов есть forward declaration
Не совсем так. Это общие вопросы. Вообще есть QGraphicScene. На нее по клику заносятся Station. По другому клику на тот же station можно найти на него указатель. Кроме этого сбоку есть QListView. В него также наносятся station после того как они были добавлены на QGraphicScene. Был вопрос в том как это сделать компактро и удобно. Чтобы при клике как на qgraphicscene так и на qlistview находился нужный указатель и открывалось диалоговое окно.
Раньше я делал массив добавленных указателей, отображал их в qListView. Потом по клику в QListView пытался найти тот указатель в массиве и т.д. В общем куча кода и как-то не очень удобно. Сейчас вот сделал множественное наследование, и теперь по любому клику(что на сцене, что в листе) все аккуратно показывается. Смущает лишь то правильный ли это подход и не является ли это "плохой практикой".
Ну тогда и оставьте множественное наследование, возможно потом придет идея как сделать без него
Хорошо. Спасибо большое за ответы!
Обсуждают сегодня