У меня есть одна проблема .. Я отправляю запрос на php-скрипт. И я возвращаю результат как xml. Как я могу заставить работать qprogressbar. Я попытался это: vqt progress bar не работает должным образом
oid MainWindow::init()
{
url = "http://127.0.0.1:8888/direkt_php_qt.php";
manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(downloadProgress(qint64,qint64)),this,SLOT(updateDataTransferProgress(qint64,qint64)));
connect(manager, SIGNAL(finished(QNetworkReply*)),this, SLOT(replyFinished(QNetworkReply*)));
}
void MainWindow::updateDataTransferProgress(qint64 bytesReceived, qint64 bytesTotal)
{
ui->progressBar->setMaximum(bytesTotal + (bytesTotal * 0.25));
ui->progressBar->setValue(bytesReceived);
ui->progressBar->show();
}
Но это не работает. Я получаю ошибку: Object::connect: No such signal QNetworkAccessManager::downloadProgress(qint64,qint64)
Как я могу сделать эту работу с переменной менеджера или что-то в этом роде.
EDIT 2: Это, например, функции, который вызывает Init()
void MainWindow::Citanje_korisnika()
{
init();
QUrl params;
params.addQueryItem("action","Citanje_korisnika");
QByteArray data;
data.append(params.toString());
data.remove(0,1);
QNetworkRequest request;
request.setUrl(url);
request.setHeader(QNetworkRequest::ContentTypeHeader,
QVariant("application/x-www-form-urlencoded"));
reply = manager->post(request, data);
}
Я попробовал ваш код, но я всегда получаю неожиданно из программы. Можете ли вы изменить мне свою функцию, из которой я звоню по почте, поэтому он может работать с init()
У меня есть обновленный вопрос, я могу заставить его работать. он меня выталкивает –
Кто-нибудь, возможно, знает ответ? –
Хорошо, я заработал. Как сделать это плавно, а не прыгать с 24% до 100% в секунду. –