`
qvb3d
  • 浏览: 171049 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

qt开发webkit

 
阅读更多

 

昨天遇到一个兄台,说要qt写界面

有时界面会变动很大

我的建议是用 qtwebkit

具体是什么样的呢,也不知道那个兄台能不能看到这博客

把以前项目中的内容,简化成例子

 

为这个项目做的模拟器


发上来,朋友们看看

 

mkdir qwebkit


 

cd qwebkit

 

QtDesigner 


 建立form.ui 到qwebkit



 控件名   webView  


 

控件名 lineEdit

拖动调整大小



 

 

保存

 

Qt Creator 建立qwebkit.qrc

 

也可以

vi qwebkit.qrc 

 

 

<!DOCTYPE RCC><RCC version="1.0">
 <qresource>
     <file>test.htm</file>
 </qresource>
</RCC> 
 

 

vi test.htm

 

<html>
<style type="text/css">
.boxshadow1 {
	-moz-box-shadow: 0 2px 10px 1px rgba(255, 0, 0, 0.2);
	-webkit-box-shadow: 0 2px 10px 1px rgba(255, 0, 0, 0.2);
	box-shadow: 0 2px 10px 1px rgba(255, 0, 0, 0.2);
	background: -webkit-gradient(linear, 0 20, 0 100%, from(#EEF), to(#BBB));
	border-radius: 15px 5px 25px 0px;
	position:absolute; 
	top:10px; left:50px; 
	height:76px; 
	width:150px; 
	font-size:30px;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 1px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #EEE;
	border-right-color: #333;
	border-bottom-color: #333;
	border-left-color: #EEE;
}
</style>
<body>
<div width="100px" height="50px" class="boxshadow1" >
<span>html 5</span></div>
<br><br><br><br><br>
<form onsubmit="qtwebkit.submit()">

            <input type="text" id="username">
            <input type="submit" value="Submit">
</form>
</body>
</html>
 

vi qtwebkit.h

 

 

#ifndef QWEBKIT_H
#define QWEBKIT_H

#include <QtGui/QWidget>
#include <QWebFrame>
#include <QWebElement>
#include <QMainWindow>
#include <QtGui>
#include "ui_form.h"

class webkit_test : public QWidget
{
    Q_OBJECT

public:
    webkit_test(QWidget *parent = 0, Qt::WFlags flags = 0)
    {
    ui.setupUi(this);
    ui.webView->setUrl(QUrl("qrc:/test.htm"));
    connect(ui.webView->page()->mainFrame(), SIGNAL(javaScriptWindowObjectCleared()),
            this, SLOT(JavaScriptWindowObject()));
    }
    ~webkit_test()
    {
    exit(0);
    }

public slots:
    void submit()
    {
    QWebFrame *frame = ui.webView->page()->mainFrame();

    QWebElement firstName = frame->findFirstElement("#username");

    ui.lineEdit->setText(firstName.evaluateJavaScript("this.value").toString());

    }
    void JavaScriptWindowObject()
    {
     ui.webView->page()->mainFrame()->addToJavaScriptWindowObject("qtwebkit", this);
    }
private:
    Ui::Form ui;
};









class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow()
    {
    webkitWidget = new webkit_test(this);
    setCentralWidget(webkitWidget);
    }

private:
    webkit_test *webkitWidget;

};


#endif
 

vi main.cpp

 

 

#include <QtGui/QApplication>
#include "qtwebkit.h"

int main(int argc, char *argv[])
{
    Q_INIT_RESOURCE(qwebkit);
    QApplication app(argc, argv);
    MainWindow mainWindow;
    mainWindow.setWindowTitle("Test qtwebkit");
    mainWindow.resize(800,600);
    mainWindow.show();
    return app.exec();
}
 

 

export PATH=/usr/local/qt4.6/bin:$PATH

qmake --version

     QMake version 2.01a

     Using Qt version 4.6.3 in /usr/local/qt4.6//lib

 

qmake -project

vi qwebkit.pro 

在最开始加入

QT          +=  webkit network

 

改 TARGET =qtwebkit

 

再执行

qmake

make

运行结果


 
  • 大小: 10.2 KB
  • 大小: 11.6 KB
  • 大小: 7.6 KB
  • 大小: 6.4 KB
  • 大小: 54.2 KB
  • 大小: 17.7 KB
  • 大小: 46.4 KB
  • 大小: 25.7 KB
  • 大小: 128.1 KB
分享到:
评论

相关推荐

    QtWebkit开发的浏览器

    基于QtWebkit开发的浏览器,含历史记录、收藏夹、设置主页等功能!

    白皮书:Qt集成Webkit渲染、使用和扩展网络技术

    开源 WebKit 浏览器引擎与 Qt 4.5 应用程序和 UI 框架的集成模糊了本地应用程序与网络内容...该示例通过三个阶段,详细说明了如何使用集成了 WebKit 的 Qt 4.5,开发出渲染、集成和扩展网 络服务的本地应用程序。 白皮

    Python-PyFladesk使用Flask和QtWebKit创建桌面应用程序

    PyFladesk - 使用Flask和QtWebKit创建桌面应用程序

    QtWebKit积累

    QtWebKit开发过程中遇到的一些小问题记录

    Qt实现的百度在线地图与离线地图(利用QWebKit实现)

    更新webkit离线地图,离线地图API包含v1.0和v1.3,嵌入式Qt实现百度在线地图与离线地图,利用QWebKit实现。功能包含:离线与在线切换,街道与卫星地图切换,坐标查找,添加坐标。其它功能后续更新,适合嵌入式Qt地图...

    cpp-SeimiAgentSeimiAgent是基于QtWebkit开发的可在服务器端后台运行的一个webkit服务

    SeimiAgent SeimiAgent是基于QtWebkit开发的可在服务器端后台运行的一个webkit服务,可以通过SeimiAgent提供的http接口向SeimiAgent发送一个load请求(需求加载的URL以及对这个页面接受的渲染时间或是使用什么代理等...

    QtWebkit研究

    本文档总结了QtWebkit开发技术的方方面面

    obs-qtwebkit:obs-studio的浏览器插件

    确保安装了必需的依赖项,它们是obs-studio以及qt5和qt5-webkit开发包。 您可能需要设置OBS_INCLUDE和OBS_LIB env变量(请参见Makefile)。 在Ubuntu 16.04 LTS上,您可能需要安装开发人员库进行编译。 须藤apt-...

    Qt Creator快速入门(第3版)pdf+源码

    本书是基于QtCreator集成开发环境的入门书籍,详细介绍了QtCreator开发环境的使用和Qt基本知识点的应用。本书内容主要包括Qt的基本应用,以及...想进一步学习Qt开发实例的读者,可以学习《Qt及QtQuick开发实战精解》一书。

    Qt Creator快速入门_第三版__霍亚飞编著.pdf

    t Creator快速入门(第3版)是基于Qt Creator集成开发环境的入门书籍,详细介绍了QtCreator开发环境的使用和Qt基本知识点的应用。本书内容主要包括Qt的基本应用,以及Qt在图形动画、影音媒体、数据处理和网络通信方面的...

    Qt Creator快速入门_第三版__霍亚飞编源码

    QT快速入门超详细超清源码。 Qt Creator快速入门(第3版)是基于Qt Creator集成开发环境的入门书籍,详细介绍了QtCreator开发环境的使用和Qt...想进一步学习Qt开发实例的读者,可以学习《Qt及QtQuick开发实战精解》一书。

    Qt实现的百度在线地图与离线地图(利用QWebEngine实现)

    嵌入式Qt实现百度在线地图与离线地图,利用QWebEngine实现,...其它功能后续更新,适合嵌入式Qt地图开发初学者参考。另附地图下载工具:全能地图下载器(未注册,下载后的图片会带有水印,可作学习利用),谢谢支持!

    WKHTMLToPDF使用WebkitQtWebKit将一个HTML转换为PDF的工具

    WKHTMLToPDF:使用Webkit (QtWebKit)将一个HTML转换为PDF的工具

    《Qt Creator快速入门》第3版实验讲义+ppt+源码

    本书是基于QtCreator集成开发环境的入门书籍,详细介绍了QtCreator开发环境的使用和Qt基本知识点的应用。本书内容主要包括Qt的基本应用,以及Qt在图形动画、影音媒体、数据处理和 网络通信方面的应用内容。与第2版相比...

    C++课设:基于Qt开发的一个期刊管理系统.zip

    Qt支持 Windows、Linux/Unix、Mac OS X、Android、BlackBerry、QNX等多种平台,并为这些不同的平台提供了统一的开发环境。 面向对象 C++是完全面向对象的,这一点和Objective-c等在开发很相似。而Qt又是基于C++一...

    QT Creator快速入门(第3版 高清PDF)+ 随书源码

    Qt Creator快速入门(第3版)是基于Qt Creator集成开发环境的入门书籍,详细介绍了QtCreator开发环境的使用和Qt基本知识点的应用。本书内容主要包括Qt的基本应用,以及Qt在图形动画、影音媒体、数据处理和网络通信方面...

    操作系统大作业:基于QT开发的linux系统CPU监视器.zip

    Qt支持 Windows、Linux/Unix、Mac OS X、Android、BlackBerry、QNX等多种平台,并为这些不同的平台提供了统一的开发环境。 面向对象 C++是完全面向对象的,这一点和Objective-c等在开发很相似。而Qt又是基于C++一...

    Qt5入门资料.docx

    经过多年发展,Qt不但拥有了完善的C++图形库,而且近年来的版本逐渐集成了数据库、OpenGL库、多媒体库、网络、脚本库、XML库、WebKit库等等,其核心库也加入了进程间通信、多线程等模块,极大的丰富了Qt开发大规模...

    Qt-文件路径使用方式和注意事项

    * 在程序开发中我们会经常使用到路径功能,例如:读取`./`路径下的配置文件,将日志文件、运行数据保存到当前路径,将视频文件保存到系统的视频文件夹下等; * 路径分为相对路径、绝对路径; * 在Windows下文件/...

    WebCarousel -- 一个QT开发的一个浏览器

    从外表来看是一个界面简洁的浏览器, html解析和显示用的Qt自带的Webkit。 其实这个项目的重点是页面切换的功能采用了一个Web Page Carousel, 是一个可旋转的滑动选单

Global site tag (gtag.js) - Google Analytics