gpt4 book ai didi

c++ - 如何编译qtwebkit插件?

转载 作者:行者123 更新时间:2023-11-30 05:46:28 25 4
gpt4 key购买 nike

QtWebkit-plugins是一个为 QWebView 提供功能的库,例如 SpellCheck Notification Web API .

Read about:

我试图在 Windows 中编译代码,但是我的 QWebView没有按预期工作,换句话说, SpellCheck Notification Web API 不工作。就像我一直没有使用 QtWebkit-plugins .哪个可以?

在说明要编译的文档中,我必须运行:

$ qmake
$ make && make install

阅读更多 QtWebkit-plugins repository

我正在使用 mingw , 而不是 make我用了mingw32-make :

  • 我编译了hunspell
  • 已复制 hunspell对于 C:\Qt5.4.0\5.4\mingw491_32\binC:\Qt5.4.0\5.4\mingw491_32\lib
  • 我在 cmd 中使用编译了 qtwebkit-plugins:

    qmake
    mingw32-make && mingw32-make install
  • mingw32-make生成 libqtwebkitpluginsd.aqtwebkitplugins.dll

  • 已复制 libqtwebkitpluginsd.a对于 C:\Qt5.4.0\5.4\mingw491_32\lib
  • 已复制 qtwebkitplugins.dll对于 C:\Qt5.4.0\5.4\mingw491_32\plugins\webkitC:\Qt5.4.0\5.4\mingw491_32\bin

之后我编译了另一个使用 QWebView 的简单项目然后测试了 SpellCheck<textarea spellcheck="true"></textarea>并且没有用。

我测试了 Notification Web API 也没有用。

注意:使用 QT_DEBUG_PLUGINS=1 运行我的项目时并使用 Notification Web API 应用程序输出选项卡(在 QtCreator 中)返回:

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

关于c++ - 如何编译qtwebkit插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28904966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com