2016-06-12 2 views
0

Мне нужно показать некоторый динамический веб-контент в моем приложении (пусть это будут материалы справки по применению).Как предотвратить создание странных папок при использовании QWebEngineView?

Я использовал Qt5.4 с QWebView. Но после перехода на Qt5.6 я заметил , что QWebKit устарел и больше не поддерживается. Таким образом, я решил заменить функциональность QWebKit одной из QWebEngine. После замены QWebView на QWebEngineView Я исследовал, что после запуска моего приложения в папке пользователя создаются пустые папки. Например: .QtWebEngineProcess папка и папка, называемая моим приложением с точкой в ​​начале.

Нормально ли это? Как предотвратить создание таких папок? Любой вариант отключения такого поведения?

ответ

0

QWebEngine нуждается в этой папке для хранения некоторых временных файлов: таких как файлы cookie, данные кеша ... Подробнее см. QWebEngineProfile (http://doc.qt.io/qt-5/qwebengineprofile.html#PersistentCookiesPolicy-enum). Вы можете выбрать папку по умолчанию, в каком-то месте:

QWebEngineProfile* defaultProfile = QWebEngineProfile::defaultProfile(); 
defaultProfile->setCachePath("your folder"); 
defaultProfile->setPersistentStoragePath("your folder"); 

Или вы можете отключить его, изменив печений политику:

QWebEngineProfile::defaultProfile()->setPersistentCookiesPolicy(QWebEngineProfile::NoPersistentCookies); 

Еще одна вещь, QWebEngine нужны папки с переводами файлов, ресурсов .. который должен быть прикреплен к вашему файлу exe, чтобы работать нормально. Вы можете выполнять в терминалах Qt (например, в Windows) в папке ехе:

windeployqt . 

и Qt будет копировать все файлы. См. http://doc.qt.io/qt-5/windows-deployment.html для получения более подробной информации =)

+0

Мое приложение не требует хранения файлов cookie и кеша данных. Поэтому мне не нужны лишние папки в каталоге пользователя. – vasyl

+0

Так что просто отключите хранение cooking: QWebEngineProfile :: defaultProfile() -> setPersistentCookiesPolicy (QWebEngineProfile :: NoPersistentCookies); – mohabouje

+0

Спасибо! Я сделал это. Также я удалил всю ненужную папку из каталога пользователя. Но папка .QtWebEngineProcess все еще появилась в папке пользователя после запуска моего приложения. – vasyl

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