Название: Как добраться до значения роли вне делегата? Отправлено: RustAlex от Май 06, 2016, 00:34 Добрый день.
Несколько раз сталкивался с проблемой, все время как-то обходил, но должно быть решение "в лоб"! ПРоблема: НЕ могу получить доступ к роли определенной в с++ из QML, кроме как из делегата Код
Файл делегата: Код Другой QML файл: Код При этом модель определена в С++, это может быть модель например на базе QSqlQueryModel или QSortFilterProxyModel в котором определена роль strValue. Как заставить usedMyList.delegate.strValue - получать значение? property alias или property string - видимо надо как-то правильно определить в нужной области видимости. В трех соснах блуждаю. Help! Если нужно покажу как подключаю модель... Название: Re: Как добраться до значения роли вне делегата? Отправлено: Отражение луны от Май 06, 2016, 12:27 Обычно для этого существуют методы самой модели. Например, у ListModel есть соотвествующие cound, get и set.
Реализуй на уровне c++ (методы должны быть Q_INVOKABLE) и ты сможешь использовать их через model_id.method(); Но тут еще возникает логичный вопрос - а зачем? Название: Re: Как добраться до значения роли вне делегата? Отправлено: RustAlex от Май 10, 2016, 12:58 Спасибо! Реализация в модели метода с Q_INVOKABLE - решила проблему. Заодно вскрыв непраздный вопрос "зачем"... ведь уже был метод который решал параллельную проблему - его надо было просто слегка расширить, а не упираться в желание сделать все в QML.
Лишний раз убеждаюсь что не надо упираться в решение проблемы - показавшимся простым и правильным вначале. Иногда надо абстрагироваться от принятого изначально решения и взглянуть на проблему с иной стороны. |