Название: Преобразовать QList<obj*> в QList<parent*> Отправлено: deMax от Апрель 24, 2014, 09:03 Собственно задача скомпилировать это:
foreach (QAbstractItemView* obj, w->findChildren<QListView*>() + w->findChildren<QTreeView*>() + w->findChildren<QTableView*>() ) { ... } Данный код находит дочерние объекты для QTableView, некрасиво(хочу первый способ): foreach (QAbstractItemView* obj, w->findChildren<QAbstractItemView*>() ) { ... } Название: Re: Преобразовать QList<obj*> в QList<parent*> Отправлено: Old от Апрель 24, 2014, 09:08 Ох чувствую, что задачу можно решить совсем по другому. :)
Расскажите, что вы хотите сделать в конечном итоге? Название: Re: Преобразовать QList<obj*> в QList<parent*> Отправлено: deMax от Апрель 24, 2014, 09:32 Я хочу чтобы две формы созданные в ui выглядели одинаково, но с учетом разного разрешения и соответственно у каждой будет свой компоновщик формы + сохранение состояния.
Уже все работает и сейчас хочу оптимизировать код. т.е. через foreach (QTableView *obj, findChildren<QTable....>) я соединяю сигналы от нужных элементов в свой слот. (потом в слоте я разбираю кто послал и перекидываю вид текущего элемента на аналогичные элементы на других экранах). p.s. Можно это заменить одной строчкой? if(qobject_cast<QAbstractButton*>(sender())) eType = E_ABSTRACTBUTTON; if(qobject_cast<QComboBox*>(sender())) eType = E_COMBOBOX; if(qobject_cast<QDateTimeEdit*>(sender())) eType = E_DATETIMEEDIT; ........ qDebug()<<sender()->staticMetaObject.className(); - эта штука возвращает "QObject" p.s.s. можно ли сигнал соединять через указатель на функцию? connect(obj, signal[1](), this, SLOT(myslot)) |