• QWebView加载网页


    开发环境:win10家庭中文版,vs2013,qt5.5.1

    目的:使用webkit加载web页面代码如下:

    #include

    #include

    #ifdef _DEBUG#pragma comment(lib, "Qt5WebKitWidgetsd.lib")

    #pragma comment(lib, "Qt5WebKitd.lib")

    #else

    #pragma comment(lib, "Qt5WebKitWidgets.lib")

    #pragma comment(lib, "Qt5WebKit.lib")

    #endifm_WebView = new QWebView(this);  

    QWebSettings * settings = m_WebView->settings();
    QWebSettings::globalSettings();   
    settings->setAttribute(QWebSettings::PluginsEnabled, true);  
    settings->setAttribute(QWebSettings::JavaEnabled, true);  
    settings->setAttribute(QWebSettings::JavascriptEnabled, true);
    settings->setAttribute(QWebSettings::JavascriptCanOpenWindows, true);
    settings->setAttribute(QWebSettings::JavascriptCanAccessClipboard, true);   
    settings->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);  
    settings->setAttribute(QWebSettings::SpatialNavigationEnabled, true);  
    settings->setAttribute(QWebSettings::LinksIncludedInFocusChain, true);
    settings->setAttribute(QWebSettings::AcceleratedCompositingEnabled, true);
    settings->setAttribute(QWebSettings::AutoLoadImages, true);

    编译程序,使用dependency检测依赖动态库库,然后启动程序,加载网页一切正常,当加载视频和音频时出现异常,腾讯视频出现图1所示情况,爱奇艺 和优酷视频出现情况如图2,经过各种尝试,最终发现需要在exe同级目录下放置plugins文件夹,文件夹底下放置flash动态库 (NPSWF32.dll),或者自己下载一个动态库安装,这个动态库是firefox的flash player,测试结果如图3

    图1腾讯视频
    图2 爱奇艺测试结果
    图3下载flash插件

    上图3中的测试结果是在win7虚拟机上测试结果,win10上安装firefox的flash插件测试结构和上图一样

    顺道说句:QT插件库(新增库,路径必须正确),根据不同的程序,需要不同的插件库例如:1、使用QMediaPlayer需要添加plugins目录下的mediaservice文件夹下的动态库2、使用除png外其他图片文件时,需要保护相应的图片插件动态库

  • 相关阅读:
    工厂对象模式简介
    (转)HelloWorld CMake CMake中构建静态库与动态库及其使用
    C和C++混合编程
    Google glog 使用
    VS2013 越来越慢
    shell 的语法
    (十二)命令模式详解(故事版)
    (十一)外观模式详解(Service第三者插足,让action与dao分手)
    (十)装饰器模式详解(与IO不解的情缘)
    (九)模板方法模式详解(包含与类加载器不得不说的故事)
  • 原文地址:https://www.cnblogs.com/swarmbees/p/5621549.html
Copyright © 2020-2023  润新知