Название: Не понимаю как описать слот Отправлено: Zilibobas от Декабрь 12, 2014, 13:33 Код: void MainWindow::UpdateProgram() Есть такой код, пытаюсь описать слот UpdateReply(QNetworkReply*) Код: #ifndef MAINWINDOW_H Код: void MainWindow::UpdateReply(QNetworkReply *reply) Ругается на заголовочный файл: D:\Dropbox\work\Qt\CryptoRegistratorClient\CryptoRegistratorClient\mainwindow.h:20: ошибка: C2061: синтаксическая ошибка: идентификатор "QNetworkReply" Что то вообще? Как это? Веть в примере (http://doc.qt.io/qt-5/qnetworkaccessmanager.html) четко сказано: When the replyFinished slot above is called, the parameter it takes is the QNetworkReply object containing the downloaded data as well as meta-data (headers, etc.). Тоесть: Когда слот replyFinished будет вызван, то принимаемый им параметр будет объект QNetworkReply, содержащий скачанные данные и метаданные (заголовки и т.д.). Я так и указываю что будет принят этот указатель на этот обьект. Но выдает это. Название: Re: Не понимаю как описать слот Отправлено: _OLEGator_ от Декабрь 12, 2014, 14:34 Наверное, надо дать знать компилятору, откуда брать QNetworkReply в mainwindow.h.
Либо подключи QNetworkReply либо добавь предварительное объявление QNetworkReply. Название: Re: Не понимаю как описать слот Отправлено: QuJu от Май 20, 2017, 19:39 Похожий вопрос.
Создал свой класс listView наследник QAbstractItemView. Соединяю нажатие кнопки и обновление вьюпорта listView. по старому соединял так: connect(mybutton,SIGNAL(clicked()),this->viewport(),SLOT(update())); (this это listView) А по новому с указателями не получается сформулировать: connect(mybutton,&QPushButton::clicked, ????????) получается цепочка listView->QAbstractItemView->QAbstractScrollArea->QWidget::update Название: Re: Не понимаю как описать слот Отправлено: Apktyc от Май 21, 2017, 00:53 Разве не
Код: connect(mybutton, &QPushButton::clicked, this->viewport(), QWidget::update); Название: Re: Не понимаю как описать слот Отправлено: QuJu от Май 24, 2017, 00:13 Нет(
cannot determine which instance of overloaded function "QWidget::update" is intended Разве не Про рефакторинг не знал,спасибо.Код: connect(mybutton, &QPushButton::clicked, this->viewport(), QWidget::update); Но именно на этой функции в меню рефакторинга не появляется предложение поменять на стиль Qt5 connect Название: Re: Не понимаю как описать слот Отправлено: Apktyc от Май 24, 2017, 00:37 А откуда перегрузка появилась update-то?
Сигналы и слоты перегружать не советуют (поэтому рефакторинг и не появляется), я не пробовал со слотами, но может прокатит, по аналогии с сигналами Код: connect(mybutton, &QPushButton::clicked, this->viewport(), static_cast<void (QWidget::*)()>&(QWidget::update)); Код: connect(mybutton, &QPushButton::clicked, this->viewport(), QOverload<>::of(&QWidget::update)); З.Ы. А может можно дергать update самого ListView? Название: Re: Не понимаю как описать слот Отправлено: QuJu от Май 24, 2017, 01:43 Код: connect(mybutton, &QPushButton::clicked, this->viewport(), QOverload<>::of(&QWidget::update)); В таком виде срабатывает.Спасибо! Про перегруз,не знаю почему. ps/ А moc файлы тоже должны создаватся если используется новый синтаксис? |