2012-02-01 3 views
1

У меня есть одна проблема .. Я отправляю запрос на 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()

ответ

1

donwloadProgress - это сигнал QNetworkReply. Попробуйте что-то вроде этого:

url = "http://127.0.0.1:8888/direkt_php_qt.php"; 
manager = new QNetworkAccessManager(this); 

QNetworkReply* reply = manager->get(QNetworkRequest(url)); 
connect(reply, SIGNAL(downloadProgress(qint64, qint64)),this, SLOT(updateDataTransferProgress(qint64,qint64))); 
+0

У меня есть обновленный вопрос, я могу заставить его работать. он меня выталкивает –

+0

Кто-нибудь, возможно, знает ответ? –

+0

Хорошо, я заработал. Как сделать это плавно, а не прыгать с 24% до 100% в секунду. –

Смежные вопросы