如何编译qtwebkit插件?
How to compile qtwebkit plugins?
QtWebkit-plugins is a library that provides features to the QWebView
, eg SpellCheck
and Notification Web API
.
Read about:
我尝试编译 Windows 中的代码,但我的 QWebView
没有按预期工作,换句话说,SpellCheck
and Notification Web API
没有工作。就像我一直没有使用 QtWebkit-plugins
。哪个可以?
在文档中说要编译我必须 运行:
$ qmake
$ make && make install
中阅读更多内容
我使用的是 mingw
,而不是 make
我使用的是 mingw32-make
:
- 我编译了
hunspell
- 已复制
hunspell
用于 C:\Qt5.4.0.4\mingw491_32\bin
和 C:\Qt5.4.0.4\mingw491_32\lib
我在 cmd 中编译了 qtwebkit-plugins:
qmake
mingw32-make && mingw32-make install
mingw32-make
生成了 libqtwebkitpluginsd.a
和 qtwebkitplugins.dll
- 已为
C:\Qt5.4.0.4\mingw491_32\lib
复制 libqtwebkitpluginsd.a
- 已复制
qtwebkitplugins.dll
用于 C:\Qt5.4.0.4\mingw491_32\plugins\webkit
和 C:\Qt5.4.0.4\mingw491_32\bin
之后,我编译了另一个使用 QWebView
的简单项目,然后在 <textarea spellcheck="true"></textarea>
中测试了 SpellCheck
,但没有成功。
我测试了 Notification Web API
也没有用。
注意:当运行在我的项目中使用QT_DEBUG_PLUGINS=1
并在应用程序输出选项卡中使用Notification Web API
时(在 QtCreator 中)returns:
Found metadata in lib C:/Qt5.4.0/5.4/mingw491_32/plugins/webkit/qtwebkitplugins.dll, metadata=
{
"IID": "org.qtwebkit.QtWebKit.QtWebKitPlugin",
"MetaData": {
},
"className": "QtWebKitPlugin",
"debug": false,
"version": 328704
}
loaded library "C:/Qt5.4.0/5.4/mingw491_32/plugins/webkit/qtwebkitplugins.dll"
QLibraryPrivate::unload succeeded on "C:/Qt5.4.0/5.4/mingw491_32/plugins/webkit/qtwebkitplugins.dll"
QSystemTrayIcon::setVisible: No Icon set
在我看来 dll
已加载,只是无法正常工作。
我的项目如何使用这些功能?
对于 QT-5.2+ 中的这项工作,有必要修改 qwebkitplatformplugin.h
文件
改变这个:
QT_BEGIN_NAMESPACE
Q_DECLARE_INTERFACE(QWebKitPlatformPlugin, "com.nokia.Qt.WebKit.PlatformPlugin/1.9");
由此:
QT_BEGIN_NAMESPACE
Q_DECLARE_INTERFACE(QWebKitPlatformPlugin,
"org.qt-project.Qt.WebKit.PlatformPlugin/1.9");
如果需要与 QT-4.8 的兼容性,请为此更改代码:
QT_BEGIN_NAMESPACE
#if QT_VERSION >= 0x050200
Q_DECLARE_INTERFACE(QWebKitPlatformPlugin, "org.qt-project.Qt.WebKit.PlatformPlugin/1.9")
#else
Q_DECLARE_INTERFACE(QWebKitPlatformPlugin, "com.nokia.Qt.WebKit.PlatformPlugin/1.9")
#endif
QT_END_NAMESPACE
QtWebkit-plugins is a library that provides features to the QWebView
, eg SpellCheck
and Notification Web API
.
Read about:
我尝试编译 Windows 中的代码,但我的 QWebView
没有按预期工作,换句话说,SpellCheck
and Notification Web API
没有工作。就像我一直没有使用 QtWebkit-plugins
。哪个可以?
在文档中说要编译我必须 运行:
$ qmake
$ make && make install
中阅读更多内容
我使用的是 mingw
,而不是 make
我使用的是 mingw32-make
:
- 我编译了
hunspell
- 已复制
hunspell
用于C:\Qt5.4.0.4\mingw491_32\bin
和C:\Qt5.4.0.4\mingw491_32\lib
我在 cmd 中编译了 qtwebkit-plugins:
qmake mingw32-make && mingw32-make install
mingw32-make
生成了libqtwebkitpluginsd.a
和qtwebkitplugins.dll
- 已为
C:\Qt5.4.0.4\mingw491_32\lib
复制 - 已复制
qtwebkitplugins.dll
用于C:\Qt5.4.0.4\mingw491_32\plugins\webkit
和C:\Qt5.4.0.4\mingw491_32\bin
libqtwebkitpluginsd.a
之后,我编译了另一个使用 QWebView
的简单项目,然后在 <textarea spellcheck="true"></textarea>
中测试了 SpellCheck
,但没有成功。
我测试了 Notification Web API
也没有用。
注意:当运行在我的项目中使用QT_DEBUG_PLUGINS=1
并在应用程序输出选项卡中使用Notification Web API
时(在 QtCreator 中)returns:
Found metadata in lib C:/Qt5.4.0/5.4/mingw491_32/plugins/webkit/qtwebkitplugins.dll, metadata=
{
"IID": "org.qtwebkit.QtWebKit.QtWebKitPlugin",
"MetaData": {
},
"className": "QtWebKitPlugin",
"debug": false,
"version": 328704
}
loaded library "C:/Qt5.4.0/5.4/mingw491_32/plugins/webkit/qtwebkitplugins.dll"
QLibraryPrivate::unload succeeded on "C:/Qt5.4.0/5.4/mingw491_32/plugins/webkit/qtwebkitplugins.dll"
QSystemTrayIcon::setVisible: No Icon set
在我看来 dll
已加载,只是无法正常工作。
我的项目如何使用这些功能?
对于 QT-5.2+ 中的这项工作,有必要修改 qwebkitplatformplugin.h
文件
改变这个:
QT_BEGIN_NAMESPACE
Q_DECLARE_INTERFACE(QWebKitPlatformPlugin, "com.nokia.Qt.WebKit.PlatformPlugin/1.9");
由此:
QT_BEGIN_NAMESPACE
Q_DECLARE_INTERFACE(QWebKitPlatformPlugin,
"org.qt-project.Qt.WebKit.PlatformPlugin/1.9");
如果需要与 QT-4.8 的兼容性,请为此更改代码:
QT_BEGIN_NAMESPACE
#if QT_VERSION >= 0x050200
Q_DECLARE_INTERFACE(QWebKitPlatformPlugin, "org.qt-project.Qt.WebKit.PlatformPlugin/1.9")
#else
Q_DECLARE_INTERFACE(QWebKitPlatformPlugin, "com.nokia.Qt.WebKit.PlatformPlugin/1.9")
#endif
QT_END_NAMESPACE