crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Как из модели списка испустить сигнал?
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Алексей1153 Дата 25.5.2021, 11:49
  softminister, наверное, нужно сделать runAlarm константным. И слот тоже
softminister Дата 24.5.2021, 10:56
  В главном окне приложения есть QTableView, данные рисуются в модели. В модели в функции data (для вывода данных) происходят расчеты для вывода и, если условие выполняется, то надо совершить событие (конкретно - запуск файла). Идея - испустить сигнал в модели, поймать его в главном окне и выполнить событие.

В модели делаю проверку и испускаю сигнал в главное окно:

QVariant AlarmsModel::data( const QModelIndex& index, int role ) const
{

  if //
    emit runAlarm(alarm);

}


где runAlarm(alarm) определен в хедере:

signals:
    void runAlarm(struct Alarm alarm);


И на этом ошибка на строку "emit runAlarm(alarm)":

D:\...\alarmsmodel.cpp:182: error: passing 'const AlarmsModel' as 'this' argument discards qualifiers [-fpermissive]
..\...\alarmsmodel.cpp: In member function 'virtual QVariant AlarmsModel::data(const QModelIndex&, int) const':
..\...\alarmsmodel.cpp:182:44: error: passing 'const AlarmsModel' as 'this' argument discards qualifiers [-fpermissive]
                         emit runAlarm(alarm);
                                            ^


О чем говорит эта ошибка? Что не так?
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 20.7.2025, 0:49