Yüklemelerini Karşıdan Yükleme Şu anda QtWebkit
'dan QWebEngine
ürününe geçiş yapmaktayız. Ancak, indirme işlemlerinin yapılması biraz baş ağrısına neden oluyor. Daha önce bu yüzden gibi QWebPage::unsupportedContent
sinyal kullanılarak işlenir:QtWebEngine
QWebPage* webPage = new QWebPage(this);
QObject::connect(webPage, &QWebPage::unsupportedContent, [] (QNetworkReply* reply) {
// do stuff with the reply
reply->readAll();
});
QtWebEngine
kullanarak, aklıma gelen tek şey sunucuya bir istek yapmak QWebEngineView::urlChanged
sinyalini kullanmaktır ve ben bile emin değilim eğer işe yarayacaksa.
QNetworkAccessManager* accessManager = new QNetworkAccessManager(this);
QWebEngineView* webView = new QWebEngineView(this);
QObject::connect(webView, &QWebEngineView::urlChanged, [=] (const QUrl& url) {
if (url.path().endsWith("some_endpoint_which_results_in_a_download") {
QNetworkReply* reply = accessManager->get(url);
// do the same stuff to the reply
reply->readAll();
}
})
Açıkçası bu yaklaşım çok bir indirme neden bitiş noktaları uygulamasına kodlanmış olması gerekir ki sınırlamaktadır. Ancak daha iyi bir çözüm göremiyorum. Kimse daha iyi bir şeyle geldi mi?
- Güncelleme -
web önbellek ve çerezler, aşağıdaki özelliğin üzerine geliştiricinin kontrolüne diğer geliştirmeler arasında QT'ın 5.5 Release plan hatları, Dokümanlar. dosyaların indirilmesini yönetmek için
Eklendi API
5,5 beta 09/04/2015 tarihinde serbest bırakılması ve 26/05/2015 tarihinde serbest bırakılması için son yöneliktir. Herhangi bir kafa travmasını önlemek için, bu gelişmeleri beklemek önemli olabilir.
Bunu söyledikten sonra, eğer biri varsa, benimkiden daha temiz bir çözümle ilgilenecektim.
Benzer bir karar vermemiz gerekti ve göz kırpma entegrasyonu tamamlanana kadar webkit ile kalmayı tercih ettik. QNetworkManager üzerinden de eksik istek değişikliği ve henüz baskı yok. Örnek olarak, bu sorunun Qt 5.5 ile nasıl çözüleceği, [tarayıcı tarayıcı] 'ya (https://github.com/OtterBrowser/otter-browser/blob/master/src/modules/backends/web/qtwebengine/QtWebEngineWebWidget bakın. .cpp # L122) ve [Qt kaynakları] (http://code.qt.io/cgit/qt/qtwebengine.git/tree/src/webenginewidgets/api/qwebengineprofile.h#n106). – elsamuko
@StickyCube Webengini nasıl başlattığınızı bana bildirir misiniz? Ben quicknanobrowser ./quicknanobrowser -platform wayland olarak kullanmaya çalışıyorum. Ancak, youtube videolarını oynatırken uygulama çöküyor. Herhangi bir öneriniz varsa lütfen bana gönderin. –