void Authorization::test_answer(QNetworkReply *reply)
{
    QStringList html;
    while (!reply->atEnd())
        html << QString(reply->readLine());
    QPlainTextEdit *text = new QPlainTextEdit();
    text->appendPlainText(html.join('\n'));
    QStringList headers;
    QList<QByteArray> headerList = reply->request().rawHeaderList();
    foreach (QByteArray header, headerList)
        headers << QString(header+"\t"+reply->request().rawHeader(header));

    text->appendPlainText(headers.join('\n'));

    headerList = reply->rawHeaderList();
    foreach (QByteArray header, headerList)
        headers << QString(header+"\t"+reply->rawHeader(header));

    text->appendPlainText(headers.join('\n'));

    text->appendPlainText(reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toString());
    text->appendPlainText(reply->errorString());
    text->show();

    if (reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt() == 302) {
        QNetworkAccessManager *manager = new QNetworkAccessManager(this);
        QNetworkRequest request(QUrl(reply->rawHeader("Location")));
        request.setHeader(QNetworkRequest::CookieHeader, reply->header(QNetworkRequest::SetCookieHeader));
        manager->get(request);
        connect(manager, SIGNAL(finished(QNetworkReply*)), SLOT(test_answer(QNetworkReply*)));
        connect(manager, SIGNAL(finished(QNetworkReply*)), manager, SLOT(deleteLater()));
    }
}
//! [46]
int main(int argc, char **argv)
{
    QApplication app(argc, argv);

    QScriptEngine eng;
    QPlainTextEdit edit;

    QScriptValue fun = eng.newFunction(myPrintFunction);
    fun.setData(eng.newQObject(&edit));
    eng.globalObject().setProperty("print", fun);

    eng.evaluate("print('hello', 'world')");

    edit.show();
    return app.exec();
}
Example #3
0
int main(int argc, char ** argv) {
   QApplication app{argc, argv};
   WhatsThisSignaler sig;
   QPlainTextEdit w;
   w.setWindowFlags(Qt::WindowContextHelpButtonHint | Qt::WindowCloseButtonHint);
   w.setMinimumSize(200, 200);
   w.setReadOnly(true);
   w.show();
   sig.installOn(&w);
   QObject::connect(&sig, &WhatsThisSignaler::whatsThisEvent, &w, [&w](QWidget*widget, QEvent*ev){
      w.appendPlainText(QStringLiteral("%1(0x%2) \"%3\" QEvent::%4")
                        .arg(widget->metaObject()->className())
                        .arg((uintptr_t)widget, 0, 16)
                        .arg(widget->objectName())
                        .arg(toName(ev->type())));
   });
   return app.exec();
}