Qt5.WebView.添加节点的测试代码
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、

4、
5、
Qt5.WebView.添加节点的测试代码的更多相关文章
- VS添加节点
很喜欢添加节点来减少代码的长度,方便阅读:VS快捷键和相关设置
- squid节点添加新域名测试
squid节点添加新域名 测试是否缓存成功 #!/bin/bash #-- clear #清屏 方便输出结果观看 url=* #需要测试的url array_node[]="*" ...
- 支持阻塞操作和轮询操作的globalfifo设备驱动代码分析以及测试代码
#include <linux/module.h> #include <linux/types.h> #include <linux/fs.h> #include ...
- LED字符设备驱动实例及测试代码
驱动代码如下: #include <linux/kernel.h>//内核头文件 #include <linux/init.h>//__init等 #include <l ...
- Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码
Hadoop基础-MapReduce入门篇之编写简单的Wordcount测试代码 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本文主要是记录一写我在学习MapReduce时的一些 ...
- 使用Microsoft Fakes隔离测试代码
在单元测试(Unit Test)中我们遇到的问题之一是:假如被测试组件(类或项目)为A,组件A依赖于组件B,那么在组件A的单元测试ATest中测试A时,也需要依赖于B,在B发生改动后,就可能影响到A的 ...
- JQuery 添加节点
Mark一段自己写的添加节点的代码 function reply2(){ $( "<div class=sec1-div5>"+"<div class= ...
- netbeans中给jpanl添加背景图片制定代码的理解——匿名内部类继承父类
此测试是为了仿照在netbeans中给jpanl添加背景图片的制定代码的执行过程 在JpDemo中定义了个Car类的数据类型,但在给其赋值对象时使用了匿名内部类,继承了Car类,是其子类,并重写了父类 ...
- mvn编写主代码与测试代码
maven编写主代码与测试代码 3.2 编写主代码 项目主代码和测试代码不同,项目的主代码会被打包到最终的构件中(比如jar),而测试代码只在运行测试时用到,不会被打包.默认情况下,Maven假设项目 ...
随机推荐
- django自定义错误响应
在做一个web时,总是会出现各种错误,如400.403.404.500等.一般开发都要做对应的处理,给一些友好提示,或返回一些公益广告等. 在Django中,默认提供了常见的错误处理方式,比如: ha ...
- hihocoder [Offer收割]编程练习赛8
第一次做这种比赛,被自己坑的好惨... A.这道题的关键其实是如果有k和n满足kD+F>nL>kD则不能走无限远,分支看似难整理,其实比较简单,F>L根本就不用算了,明摆着就是Bsi ...
- Maven 工程读取resource下的文件
1:方式1: public static List<String> userList; static { userList = new LinkedList<String>() ...
- 被fancybox坑的心路历程
今天项目中需要使用fancybox来展示图片,但是使用中发现fancybox没起作用,点击图片直接刷新了页面! fancybox的原理是通过给a标签绑定事件,使得a标签不在是直接跳转链接,而是把链接中 ...
- Mac下Homebrew的安装与使用
Homebrew简介,安装与使用 简介 Homebrew 官方网站 Homebrew是一个包管理器,用于安装Apple没有预装但你需要的UNIX工具.(比如著名的wget). Homebrew会将软件 ...
- Java 中的多线程你只要看这一篇就够了
引 如果对什么是线程.什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内. 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现.说这个 ...
- spring boot 结合Redis 实现工具类
自己整理了 spring boot 结合 Redis 的工具类引入依赖 <dependency> <groupId>org.springframework.boot</g ...
- centOS 安装 Webmin
http://www.webmin.com/rpm.html 修改配置文件在这里: /etc/webmin/miniserv.conf
- 大数乘法|2012年蓝桥杯B组题解析第六题-fishers
(9')大数乘法 对于32位字长的机器,大约超过20亿,用int类型就无法表示了,我们可以选择int64类型,但无论怎样扩展,固定的整数类型总是有表达的极限!如果对超级大整数进行精确运算呢?一个简单的 ...
- 【bzoj1706】[usaco2007 Nov]relays 奶牛接力跑
题意 给出一张无向图,求出恰巧经过n条边的最短路. 题解 考虑先离散化,那么点的个数只会有202个最多.于是复杂度里面就可以有一个\(n^3\).考虑构造矩阵\(d^1\)表示经过一条边的最短路,那么 ...