Как заставить Qt поддерживать базу данных HTML 5? - PullRequest
4 голосов
/ 27 декабря 2010

Я использую Qt 4.7.1 и встроил веб-просмотр в свое приложение. Но я получил следующую ошибку при попытке посетить http://webkit.org/demos/sticky-notes/ для проверки возможности базы данных HTML 5

Failed to open the database on disk.  This is probably because the version 
was bad or there is not enough space left in this domain's quota

Я скомпилировал мою статическую библиотеку Qt с помощью следующей команды:

configure --prefix=/usr/local/qt-static-release-db --accessibility --multimedia 
--audio-backend --svg --webkit --javascript-jit --script --scripttools 
--declarative --release -nomake examples -nomake demos --static --openssl -I
/usr/local/ssl/include -L /usr/local/ssl/lib -confirm-license -sql-qsqlite 
-sql-qmysql -sql-qodbc

1 Ответ

5 голосов
/ 27 декабря 2010

Проверка QWebSettings документация.

В частности, вы должны использовать setAttribute , чтобы включить QWebSettings :: OfflineStorageDatabaseEnabled и указать локальное хранилище, используя setOfflineStoragePath (например, QDesktopServices :: DataLocation ).

Возможно, вы захотите сделать это на странице, но, например, сделать это глобально можно с помощью:

    QWebSettings::globalSettings()->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, true);
    QWebSettings::globalSettings()->setOfflineStoragePath(QDesktopServices::storageLocation(QDesktopServices::DataLocation));
...