2016-06-12 9 views
0

내 응용 프로그램에 동적 웹 컨텐츠를 표시해야합니다 (응용 프로그램 도움말 자료).QWebEngineView를 사용하는 동안 이상한 폴더를 만드는 것을 방지하려면 어떻게해야합니까?

QWebView으로 Qt5.4를 사용했습니다. 그러나 Qt5.6으로 전환 한 후 에 QWebKit이 더 이상 사용되지 않으며 더 이상 지원되지 않는다고 나타났습니다. 따라서 기능을 QWebEngine의 기능으로 교체하기로 결정했습니다. QWebViewQWebEngineView 으로 바꾼 후 응용 프로그램을 시작한 후 사용자 폴더에 빈 폴더가 만들어 졌는지 조사했습니다. 예를 들면 다음과 같습니다. .QtWebEngineProcess 폴더 및 시작 부분에 점으로 표시된 내 응용 프로그램과 같은 폴더.

정상입니까? 어떻게 그러한 폴더를 만들 수 없습니까? 이러한 동작을 비활성화하는 옵션은 무엇입니까?

답변

0

QWebEngine은 쿠키, 캐시 데이터 등과 같은 일부 임시 파일을 저장하기 위해이 폴더가 필요합니다. 자세한 내용은 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 파일을 잘 작동하려면 첨부해야합니다. exe 폴더의 Qt 터미널 (예 : Windows)에서 실행할 수 있습니다.

windeployqt . 

Qt가 필요한 모든 파일을 복사합니다. 자세한 내용은 http://doc.qt.io/qt-5/windows-deployment.html을 참조하십시오.)

+0

내 애플리케이션에 쿠키 및 데이터 캐시를 저장할 필요가 없습니다. 그래서 나는 사용자 디렉토리에 과도한 폴더를 원하지 않는다. – vasyl

+0

그래서 코키 스토리지를 비활성화하십시오 : QWebEngineProfile :: defaultProfile() -> setPersistentCookiesPolicy (QWebEngineProfile :: NoPersistentCookies); – mohabouje

+0

감사! 나는 그것을했다. 또한 사용자 디렉토리에서 불필요한 폴더를 모두 제거했습니다. 하지만 .QtWebEngineProcess 폴더는 응용 프로그램을 시작한 후에도 사용자 폴더에 계속 나타납니다. – vasyl