Название: Как из модели списка испустить сигнал? Отправлено: softminister от Май 24, 2021, 10:54 В главном окне приложения есть QTableView, данные рисуются в модели. В модели в функции data (для вывода данных) происходят расчеты для вывода и, если условие выполняется, то надо совершить событие (конкретно - запуск файла). Идея - испустить сигнал в модели, поймать его в главном окне и выполнить событие.
В модели делаю проверку и испускаю сигнал в главное окно: Код: QVariant AlarmsModel::data( const QModelIndex& index, int role ) const где runAlarm(alarm) определен в хедере: Код: signals: И на этом ошибка на строку "emit runAlarm(alarm)": Код: D:\...\alarmsmodel.cpp:182: error: passing 'const AlarmsModel' as 'this' argument discards qualifiers [-fpermissive] О чем говорит эта ошибка? Что не так? Название: Re: Как из модели списка испустить сигнал? Отправлено: Авварон от Май 25, 2021, 12:17 сигнал - неконстантная функция (внутри нее объест можно поменять через его АПИ), ее нельзя вызывать из константной (которая как бы говорит, что объект не меняется, пока мы в функции).
вообще, это плохой дизайн, так как data() должна работать очень быстро (и за O(1) от размера данных) так как она вызывается часто и много. |