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(); }
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(); }