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假设项目 ...
随机推荐
- Java用Gson按照键值key排序json所有节点
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifa ...
- 【javascript】对原型对象、原型链的理解
原型对象,原型链这些知识属于基础类知识.但是平时开发过程中也很少用到. 看网上的意思,原型链用于es5开发场景下的继承.es6有了类语法糖之后,就自带继承了. 通过理解,个人画了一张原型链解构的关系图 ...
- Oracle笔记 #01# 简单分页
rownum是Oracle为查询结果分配的有序编号(总是从1~n).言下之意,rownum字段本来并不存在于表中,而是经查询后才分配的. 举一个例子: SELECT rownum, name, pri ...
- uwsgi 的巨坑
网上各种找,最后自己猜,猜到了. 必须安装python插件, 网上找的都是不带数字的版本号, 要么找不到要么不行. 我是 3.6.1,尝试加36, 成了. yum install -y uwsgi-p ...
- python的类和实例化对象
一切皆对象,类也是对象,类来自于元类type,如果一个类没有声明自己的元类,默认它就是元类. 即类是元类的实例,通过type(类)会显示type,而实例来自于类. 类有两个属性,数据属性和函数属性,下 ...
- 升级到0.9 log4jmongodb(mongo-java-driver 3.x)后,报No server chosen by WritableServerSelector from cluster description ClusterDescription
接上一篇http://www.cnblogs.com/zhjh256/p/6690003.html. 17-04-11 13:47:54.676 INFO cluster-ClusterId{valu ...
- 【题解】 Luogu P4145 上帝造题的七分钟2 / 花神游历各国
原题传送门 这道题实际和GSS4是一样的,只是输入方式有点区别 GSS4传送门 这道题暴力就能过qaq(这里暴力指线段树) 数据比较水 开方修改在线段树中枚举叶节点sqrt 查询区间和线段树基本操作 ...
- mint-ui之tabbar使用
<template> <div> <!-- tabcontainer --> <mt-tab-container class="page-tabba ...
- Ymodem协议(参考STM32)
相信很多人都希望,不开盖就可以对固件进行升级吧,就像手机那些.下文中的bootload就来实现这样的功能. 前段时间有项目关于Bootload设计.所以就仔细的去了研究了一翻.以前都是用的stm32官 ...
- 单片机中printf函数的重映射
单片机中printf函数的重映射 一.源自于:大侠有话说 1.如果你在学习单片机之前学过C语言,那么一定知道printf这个函数.它最最好用的功能 除了打印你想要的字符到屏幕上外,还能把数字进行格式化 ...