程序模块要添加QNetWork和QWebKit模块:

nuistfinancevideo.h文件:

#ifndef NUISTFINANCEVIDEO_H
#define NUISTFINANCEVIDEO_H #include <QtGui/QtGui>
#include <QtNetwork/QNetworkReply>
#include <QtWebKit/QWebView>
#include <QtWebKit/QWebElementCollection>
#include <QtNetwork>
#include <QtWebKit/QWebFrame>
#include <QtWebKit>
#include "ui_nuistfinancevideo.h" class NuistFinanceVideo : public QMainWindow
{
Q_OBJECT public:
NuistFinanceVideo(QWidget *parent = 0, Qt::WFlags flags = 0);
~NuistFinanceVideo(); private:
Ui::NuistFinanceVideoClass ui; void createActions();
void createTrayIcon(); QSystemTrayIcon *trayIcon;//系统托盘对象
QMenu *trayIconMenu; //添加到系统托盘对象的菜单 QAction *minimizeAction;
QAction *restoreAction;
QAction *quitAction; void closeEvent(QCloseEvent *e);//程序关闭到托盘
void changeEvent(QEvent *e);//程序最小化到托盘 public slots:
void iconactivated(QSystemTrayIcon::ActivationReason reason);//响应鼠标点击托盘的事件
}; #endif // NUISTFINANCEVIDEO_H

nuistfinancevideo.cpp文件:

#include "nuistfinancevideo.h"

NuistFinanceVideo::NuistFinanceVideo(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
//设置支持中文语言
QTextCodec::setCodecForTr(QTextCodec::codecForName("system"));
//加载浏览器插件,将所需插件放在和代码同一目录下,这里用到WebVideoActiveX.ocx和npWebVideoPlugin.dll(一般安装在C:/Program Files/Web Components/),用于显示监控视频
ui.webView->page()->settings()->setAttribute(QWebSettings::PluginsEnabled, true);
QWebSettings::globalSettings()->setAttribute(QWebSettings::PluginsEnabled, true);
//加载网页
QString url=tr("http://202.195.237.204/doc/page/login.asp");
ui.webView->load(QUrl(url));
//隐藏网页滚动条
ui.webView->page()->mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff);
ui.webView->page()->mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff);
//建立系统托盘图标
createActions();
createTrayIcon();
} void NuistFinanceVideo::createActions()
{
minimizeAction = new QAction(tr("最小化"), this);
connect(minimizeAction, SIGNAL(triggered()), this, SLOT(hide()));
restoreAction = new QAction(tr("还原"), this);
connect(restoreAction, SIGNAL(triggered()), this, SLOT(showNormal()));
quitAction = new QAction(tr("退出"), this);
connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); //设置右键点击时弹出的菜单
trayIconMenu = new QMenu(this);
trayIconMenu->addAction(minimizeAction);
trayIconMenu->addAction(restoreAction);
trayIconMenu->addAction(quitAction);
} void NuistFinanceVideo::createTrayIcon()
{
if (!QSystemTrayIcon::isSystemTrayAvailable()) //判断系统是否支持系统托盘图标
{
return;
}
trayIcon = new QSystemTrayIcon(this);
trayIcon->setIcon(QIcon(tr(":/NuistFinanceVideo/Resources/icon.jpg")));
trayIcon->setToolTip(tr("南信大财务报账看号客户端"));
trayIcon->setContextMenu(trayIconMenu);
trayIcon->show();
connect(trayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(iconactivated(QSystemTrayIcon::ActivationReason)));
} //关闭到托盘
void NuistFinanceVideo::closeEvent(QCloseEvent *e)
{
e->ignore();
this->hide();
} //最小化到托盘
void NuistFinanceVideo::changeEvent(QEvent *e)
{
if((e->type()==QEvent::WindowStateChange)&&this->isMinimized())
{
QTimer::singleShot(100, this, SLOT(close()));
}
} //点击托盘事件
void NuistFinanceVideo::iconactivated(QSystemTrayIcon::ActivationReason reason)
{
//触发后台图标执行相应事件
switch (reason)
{
case QSystemTrayIcon::Trigger:
case QSystemTrayIcon::DoubleClick:
{
showNormal();
break;
}
case QSystemTrayIcon::MiddleClick:
break;
default:
break;
}
} NuistFinanceVideo::~NuistFinanceVideo()
{ }

main.cpp文件:

#include "nuistfinancevideo.h"
#include <QtGui/QApplication> int main(int argc, char *argv[])
{
QApplication a(argc, argv); NuistFinanceVideo w;
w.show();
return a.exec();
}

  

Qt加载网页(加载浏览器插件)和制作托盘后台运行(南信大财务报账看号)的更多相关文章

  1. WebView 加载网页 加载资源 总结 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  2. webview加载网页加载不出来

    1.webView.loadUrl(picTargetUrl); 写在最前面. 1.在无线城市迷你版的项目,用webview去loadUrl的时候出现加载的现象. url 地址是 http://go. ...

  3. 浏览器(或客户端)触发,后台运行php脚本

    既我从浏览器这端触发服务器上的php脚本,要想让服务器端的php脚本一直执行,我得把该网页一直开着,这样就达不到我不开电脑不开网页进行爬取的目的,因此查找了些资料,得知 ignore_user_abo ...

  4. nopCommerce 3.9 大波浪系列 之 网页加载Widgets插件原理

    一.插件简介 插件用于扩展nopCommerce的功能.nopCommerce有几种类型的插件如:支付.税率.配送方式.小部件等(接口如下图),更多插件可以访问nopCommerce官网. 我们看下后 ...

  5. BOM 浏览器对象模型_渲染引擎_JavaScript 引擎_网页加载流程

    1. 浏览器核心的两个组成部分 渲染引擎 将网页代码渲染为用户视觉可以感知的平面文档 分类: Firefox        Gecko 引擎 Safari        WebKit 引擎 Chrom ...

  6. 通过chrome浏览器分析网页加载时间

    今天趁着下班的时间看了下chrome浏览器的网页加载时间分析工具和相关文档,简单写点儿东西记录一下. 以百度首页加载为例,分析下一张图片1.jgp(就是背景图)的加载时间 看右侧的Timing标签,从 ...

  7. No.11 selenium学习之路之加载浏览器插件for Firefox

    打开帮助 —— 故障排除信息

  8. UIWebView 加载网页、文件、 html-b

    UIWebView  是用来加载加载网页数据的一个框.UIWebView可以用来加载pdf word doc 等等文件 生成webview 有两种方法,1.通过storyboard 拖拽 2.通过al ...

  9. 《转》如何让你的网页加载时间降低到 1s 内

    当初分析了定宽高值和定宽高比这两种常见的图片延迟加载场景,也介绍了他们的应对方案,还做了一点技术选型的工作. 经过一段时间的项目实践,在先前方案的基础上又做了很多深入的优化工作.最终将好奇心日报的网页 ...

随机推荐

  1. VNC Server 配置

    1. 检查vnc客户端和服务器是否已经安装: [gavin@centos ~]$ rpm -q vnc vnc-server package vnc is not installed vnc-serv ...

  2. NAMESPACE_ERR: An attempt is made to create or change an object in a way which is incorrect with regard to namespaces.

    解决办法: http://stackoverflow.com/questions/4037125/namespace-err-an-attempt-is-made-to-create-or-chang ...

  3. map的详细用法

     map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时 ...

  4. *[topcoder]LongWordsDiv2

    http://community.topcoder.com/stat?c=problem_statement&pm=13147 此题关键在于发现ABAB的组合最多有26*26种,可以穷举,然后 ...

  5. 【PHPsocket编程专题(实战篇①)】php-socket通信演示

    建立Socket连接至少需要一对套接字,其中一个运行于客户端,称为ClientSocket ,另一个运行于服务器端,称为ServerSocket . 套接字之间的连接过程分为三个步骤:服务器监听,客户 ...

  6. 删除元素 不存在 NO 存在 输出余下元素

    #include<stdio.h> #include<stdlib.h> #define N 5 #define NULL 0 #define OK 1 #define ERR ...

  7. java:静态成员变量和静态函数

    静态成员变量 可以使用类名调用,如 class Dog { static int age; } class Test2{ public static void main(String args[]){ ...

  8. linux查看硬件环境

    一:查看cpu more /proc/cpuinfo | grep "model name" grep "model name" /proc/cpuinfo 如 ...

  9. linux内核下载

    01最新版:https://www.kernel.org/ 02老旧版:https://www.kernel.org/pub/linux/kernel/v3.x/ ------------------ ...

  10. jQuery $.post $.ajax用法

    jQuery $.post $.ajax用法 jQuery.post( url, [data], [callback], [type] ) :使用POST方式来进行异步请求 参数: url (Stri ...