• miniblink学习


    1.基本使用

    main.cpp

    1. #include "webwidget.h"
    2. #include
    3. #include "wke.h"
    4. //工作目录是指当前目录,运行目录是指exe所在路径。
    5. int main(int argc, char *argv[])
    6. {
    7. QApplication a(argc, argv);
    8. //设置miniblink的全路径+文件名
    9. wkeSetWkeDllPath(L"miniblink_4975_x32.dll");
    10. //效果与wkeInit一模一样
    11. wkeInitialize();
    12. WebWidget * w=new WebWidget(QString("https://www.baidu.com/"));
    13. w->show();
    14. w->onMove();
    15. int ret=a.exec();
    16. return ret;
    17. }

    webwidget.h

    1. #ifndef WEBWIDGET_H
    2. #define WEBWIDGET_H
    3. #include
    4. #include "wke.h"
    5. namespace Ui {
    6. class WebWidget;
    7. }
    8. class WebWidget : public QWidget
    9. {
    10. Q_OBJECT
    11. public:
    12. WebWidget(const QString& url="",QWidget *parent =nullptr);
    13. ~WebWidget();
    14. wkeWebView webView;
    15. void loadUrl(QString& url);//载入url
    16. void resizeEvent(QResizeEvent *event);//调整大小
    17. void onMove();
    18. private:
    19. Ui::WebWidget *ui;
    20. };
    21. #endif // WEBWIDGET_H

    webwidget.cpp

    1. #include "webwidget.h"
    2. #include "ui_webwidget.h"
    3. #include
    4. #include
    5. #include
    6. #include
    7. WebWidget::WebWidget(const QString& url,QWidget *parent) :
    8. QWidget(parent),
    9. ui(new Ui::WebWidget)
    10. {
    11. webView= wkeCreateWebWindow(WKE_WINDOW_TYPE_CONTROL, (HWND)this->winId(), 0, 0, this->width(),this->height());
    12. wkeShowWindow(webView, TRUE);
    13. wkeLoadURL(webView,url.toLocal8Bit().data());
    14. }
    15. WebWidget::~WebWidget()
    16. {
    17. qDebug()<<"in del";
    18. delete ui;
    19. }
    20. void WebWidget::loadUrl(QString& url)
    21. {
    22. wkeLoadURL(webView,url.toLocal8Bit().data());
    23. }
    24. void WebWidget::resizeEvent(QResizeEvent *event)
    25. {
    26. Q_UNUSED(event);
    27. wkeResize(webView, this->width(),this->height());
    28. onMove();
    29. }
    30. void WebWidget::onMove()
    31. {
    32. wkeMoveWindow(webView,0,0,this->width(),this->height());
    33. }

    2.如何实现点击链接,执行下载操作呢?

    API DOC (miniblink.net)

    void wkeOnDownload(wkeWebView webView, wkeDownloadCallback callback, void* param)

     页面下载事件回调。点击某些链接,触发下载会调用。

    wkeOnDownload2(webView, onDownloadCallback, nullptr);

    点击下载链接,调用onDownloadCallback函数

    自定义onDownloadCallback函数,只需要返回值和函数参数

    wkeDownloadCallback函数类型保持一致即可

    1. static wkeDownloadOpt WKE_CALL_TYPE onDownloadCallback(wkeWebView webView,
    2. void* param,
    3. size_t expectedContentLength,
    4. const char* url,
    5. const char* mime,
    6. const char* disposition,
    7. wkeNetJob job,
    8. wkeNetJobDataBind* dataBind)

    开启新世界的大门啦!

    3.bool wkeCanGoBack(wkeWebView webView)

    页面是否可以后退

    4.什么是UTF-8编码?写给计算机爱好者 - 知乎 (zhihu.com)

    UTF-8:Unicode Transformation Format -8 bits

    ASCII:每个字符有一个字节,可以有256个字符。

    Unicode:是现在编码所有人类语言的通用标准,甚至包括表情符号。

    但,它本身不会以二进制形式存储单词。计算机需要一种方法将

    Unicode转换为代码。而UTF-8就是Unicode的编码系统。

    它以一字节单位表示字符。

    UTF-8将Unicode中的单个字符转换为1到4个字节的集合。

    c++ string/char* 字符编码转换 (utf8,chs,gbk...)_c++ utf8_aworkholic的博客-CSDN博客

    5.已有const wkeString url;

       希望得到char类型的url;

     直接使用:wkeGetString(url);

        函数原型:const utf8* wkeGetString(const wkeString s);

        而typedef char utf8;

                    

  • 相关阅读:
    openGL 3D geometry 之数学部分
    谷粒商城(三)
    OpenHD改造实现廉价高清数字图传(树莓派zero + ubuntu PC )——(四)OSD数据传输和画面显示
    python调用c++版本dll03-简单的函数调用
    Stream API
    xv6 中的进程切换:MIT6.s081/6.828 lectrue11:Scheduling 以及 Lab6 Thread 心得
    LeetCode 599. Minimum Index Sum of Two Lists
    Oracle数据库 sql优化
    MindFusion.WinForms Pack 2022.R2
    Python3数据分析与挖掘建模(1)python数据分析的流程与概述
  • 原文地址:https://blog.csdn.net/weixin_51883798/article/details/133838047