Qt5.WebView.添加节点的测试代码

时间:2021-07-15 02:52:15

1、代码:

#include "mainwindow.h"
#include "ui_mainwindow.h" #include <QWebFrame>
#include <QWebElement>
#include <QDebug> MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
} MainWindow::~MainWindow()
{
delete ui;
} void MainWindow::on_pbtnOpenSVG_clicked()
{
ui->webView->load(QUrl::fromLocalFile("D:\\DRGIS\\BIN\\PwDrawSvg\\NewSvg.svg"));
} void PatchElement(void *_p)
{
#ifndef DEBUG_ZZ
_asm
{
push eax
mov eax,_p
mov eax,[eax+]
or [eax+0xc],0x10
pop eax
}
#else// DEBUG_ZZ
_asm
{
push eax
mov eax,_p
mov eax,[eax+]
or [eax+0x14],0x10
pop eax
}
#endif// DEBUG_ZZ
} void PatchElementUn(void *_p)
{
#ifndef DEBUG_ZZ
_asm
{
push eax
mov eax,_p
mov eax,[eax+]
and [eax+0xc],0xFFFFFFEF
pop eax
}
#else// DEBUG_ZZ
_asm
{
push eax
mov eax,_p
mov eax,[eax+]
and [eax+0x14],0xFFFFFFEF
pop eax
}
#endif// DEBUG_ZZ
} void MainWindow::on_pbtnAppendWebEle_clicked()
{
QWebElement eleSvg = ui->webView->page()->currentFrame()->documentElement();
//qDebug() << eleSvg.tagName(); QWebElement eleFind = eleSvg.findFirst("#Term_Layer");
if (eleFind.isNull())
qDebug() << "eleFind is Null";
else
qDebug() << "eleFind is not Null";
QString str = "<g id=\"zzz\"></g>";

  // ZC: 下面的 PatchElement()和PatchElementUn(),暂时是在 Release中使用,Debug中不确定一定OK...
PatchElement(&eleFind);  // ZC: 使用QWebElement::???Inside(...)的时候,就要对 那个节点 进行Patch ! ! !
eleFind.appendInside(str);
PatchElementUn(&eleFind); PatchElement(&eleFind.parent());  // ZC: 使用QWebElement::???Outside(...)的时候,就要对 那个节点的父节点 进行Patch ! ! !
eleFind.appendOutside(str);
PatchElementUn(&eleFind.parent());
} void MainWindow::on_pbtnPrintSvgContent_clicked()
{
qDebug() << ui->webView->page()->currentFrame()->toHtml();
}

2、

#-------------------------------------------------
#
# Project created by QtCreator 2018-08-15T09:00:45
#
#------------------------------------------------- QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets \
webkit \
webkitwidgets TARGET = WebView_Test_01
TEMPLATE = app SOURCES += main.cpp\
mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.ui

3、

Qt5.WebView.添加节点的测试代码

4、

5、

Qt5.WebView.添加节点的测试代码的更多相关文章

  1. VS添加节点

    很喜欢添加节点来减少代码的长度,方便阅读:VS快捷键和相关设置

  2. squid节点添加新域名测试

    squid节点添加新域名 测试是否缓存成功 #!/bin/bash #-- clear #清屏 方便输出结果观看 url=* #需要测试的url array_node[]="*" ...

  3. 支持阻塞操作和轮询操作的globalfifo设备驱动代码分析以及测试代码

    #include <linux/module.h> #include <linux/types.h> #include <linux/fs.h> #include ...

  4. LED字符设备驱动实例及测试代码

    驱动代码如下: #include <linux/kernel.h>//内核头文件 #include <linux/init.h>//__init等 #include <l ...

  5. Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码

    Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本文主要是记录一写我在学习MapReduce时的一些 ...

  6. 使用Microsoft Fakes隔离测试代码

    在单元测试(Unit Test)中我们遇到的问题之一是:假如被测试组件(类或项目)为A,组件A依赖于组件B,那么在组件A的单元测试ATest中测试A时,也需要依赖于B,在B发生改动后,就可能影响到A的 ...

  7. JQuery 添加节点

    Mark一段自己写的添加节点的代码 function reply2(){ $( "<div class=sec1-div5>"+"<div class= ...

  8. netbeans中给jpanl添加背景图片制定代码的理解——匿名内部类继承父类

    此测试是为了仿照在netbeans中给jpanl添加背景图片的制定代码的执行过程 在JpDemo中定义了个Car类的数据类型,但在给其赋值对象时使用了匿名内部类,继承了Car类,是其子类,并重写了父类 ...

  9. mvn编写主代码与测试代码

    maven编写主代码与测试代码 3.2 编写主代码 项目主代码和测试代码不同,项目的主代码会被打包到最终的构件中(比如jar),而测试代码只在运行测试时用到,不会被打包.默认情况下,Maven假设项目 ...

随机推荐

  1. UIView常见属性设置汇总

    1.圆角设置 viewT.layer.cornerRadius = 10;//设置那个圆角的有多圆 viewT.layer.borderWidth = 10;//设置边框的宽度,当然可以不要 view ...

  2. C&num;写WPF程序,SQLSever2008 提示插入数据成功&comma;却查询不到数据

    1.提示存储成功,但是数据库中没有数据.今天在用C#写一个wpf程序时,要向数据库Sql server2008 中插入数据,程序提示成功,但打开数据库却没有值; 经过查询发现,数据存储到默认路径下的数 ...

  3. php如何将数组保存为文件的方法? 三个方法让你快速把数组保存成为文件存储

    php 缓存数组形式的变量,实际上就是将 php 将数组写入到一个文本文件或者后缀名为 .php 存储起来,使用的时候直接调用这个文件.那么如何使用 php 将数组保存为文本格式的文件呢?下面分享三种 ...

  4. window&period;onscroll

    http://www.w3help.org/zh-cn/causes/SD9013 1.各浏览器对 document.document.body.document.documentElement 对象 ...

  5. Mac OS温馨提示17:七彩花哨的输入

    OSX Mavericks中国的文字输入功能,色于windows,甚至提供了强大的手写输入功能和语音输入功能,而且发展到如今,已经有非常多种第三方输入法支持Mac了. 一.主要的输入法        ...

  6. 1&period;1&period;1 PROB Your Ride Is Here

    === /* ID: luopengting PROG: ride LANG: C++ */ #include <iostream> #include <cstdio> #in ...

  7. Server-side activities have been updated&period; You need to restart SharePoint Designer to use the updated version of activities

    一,环境: SharePoint Online Win10 + SharePoint Designer 2013 错误描述: 使用SPD3013打开SPO站点,然后编辑已有工作流(2013),报错: ...

  8. Java常用的加密解密类(对称加密类)

    Java常用的加密解密类 原文转载至:http://blog.csdn.net/wyc_cs/article/details/8793198 原创 2013年04月12日 14:33:35 1704 ...

  9. for循环中的break与continue

    break: 跳出循环,执行for循环下面的语句.continue: 跳出本次循环,执行下次循环.

  10. 斜率优化第一题! HDU3507 &vert; 单调队列优化DP

    放一手原题 题解: 第一次写(抄)斜率优化,心里还是有点小激动的.讲一下怎么实现的! 首先我们可以考虑一个朴素的dp:DP[i]表示前i个数字的最少花费,显然我们有一个转移方程 DP[i]=min{D ...