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

程序模块要添加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();
}

  

时间: 2024-10-04 18:19:41

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

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

今天趁着下班的时间看了下chrome浏览器的网页加载时间分析工具和相关文档,简单写点儿东西记录一下. 以百度首页加载为例,分析下一张图片1.jgp(就是背景图)的加载时间 看右侧的Timing标签,从下往上看各个阶段: 最下面一行,Explanation是一个链接,它链接到了chrome对Timing解释的文档(从这里可以看出chrome对开发人员真的很友好),这张图片加载总共花费的时间为:36.32ms. Content Download,浏览器下载响应文件所花费的时间26.84ms,与本地网

微信内置浏览器运用bootstrap后以大分辨率加载网页解决

最近两天做了个web app应用程序,在手机自带浏览器中正常,微信浏览器中却出现了字体缩小情况,经过实验,在去掉bootstrap.css引用后window.innerWidth是320px,加上引用后window.innerWidth是480px.手机浏览器以大分辨率加载网页,网页元素就会响应缩小. 经过一段段的删除bootstrap.css中的css,发现去掉 @-ms-viewport {  width: device-width;} 后网页就能在微信中正常显示了.bootstrap版本v

【android】只让本应用程序的webview加载网页而不调用外部浏览器的办法

只让本应用程序的webview加载网页,而不调用外部浏览器打开的办法就是:设置WebViewClient,并重写WebViewClient的shouldOverrideUrlLoading方法返回true mWebView.setWebViewClient(new WebViewClient(){ @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated

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

打开帮助 -- 故障排除信息 点击显示文件夹 地址复制下来: 在代码中添加如下内容: 即可加载浏览器插件.

UIWebView --- 内置的浏览器控件 加载网页

描述:UIWebVIew 是IOS一个常见的控件,属内置的浏览器控件,可以用来加载网页,或是打开文件等等. 方法一: 代码实现:(运行程序时,直接显示链接的内容) #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; NSURL * url=[NSURL URLWithSt

网页加载进度条的实现

本次主要介绍一下网页加载进度的实现.如下图,在页面加载的时候,上方红色的进度条 网页加载进度的好处是能够更好的反应当前网页的加载进度情况,loading进度条可用动画的形式从开始0%到100%完成网页加载这一过程.但是目前的浏览器并没有提供页面加载进度方面的接口,也就是说页面还无法准确返回页面实际加载的进度,本文中我们使用jQuery来实现页面加载进度条效果. 首先我们要知道的是,目前没有任何浏览器可以直接获取正在加载对象的大小.所以我们无法通过数据大小来实现0-100%的加载显示过程. 因此我

ios UIWebView 加载网页、文件、 html

UIWebView  是用来加载加载网页数据的一个框.UIWebView可以用来加载pdf word doc 等等文件 生成webview 有两种方法,1.通过storyboard 拖拽 2.通过alloc init 来初始化 创建webview,下列文本中 _webView.dataDetectorTypes = UIDataDetectorTypeAll; 是识别webview中的类型,例如 当webview中有电话号码,点击号码就能直接打电话 - (UIWebView *)webView

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

UIWebView  是用来加载加载网页数据的一个框.UIWebView可以用来加载pdf word doc 等等文件 生成webview 有两种方法,1.通过storyboard 拖拽 2.通过alloc init 来初始化 创建webview,下列文本中 _webView.dataDetectorTypes = UIDataDetectorTypeAll; 是识别webview中的类型,例如 当webview中有电话号码,点击号码就能直接打电话 [objc] view plain copy

QWebView加载网页

开发环境:win10家庭中文版,vs2013,qt5.5.1 目的:使用webkit加载web页面代码如下: #include #include #ifdef _DEBUG#pragma comment(lib, "Qt5WebKitWidgetsd.lib") #pragma comment(lib, "Qt5WebKitd.lib") #else #pragma comment(lib, "Qt5WebKitWidgets.lib") #pr