8Qt屏幕监控
来源:互联网 发布:围棋形势判断算法 编辑:程序博客网 时间:2024/06/05 19:43
可以抓取出屏幕的截图并保存成图片
屏幕的监控,屏幕录制
1,界面设计
2,头文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QTimer>
#include <QPixmap>
#include <QDesktopWidget>
#include <QMessageBox>
#include <QFileDialog>
#include <QContextMenuEvent>
#include <QMenu>
#include <QAction>
#include <QCursor>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
protected:
void ContextMenuEvent(QContextMenuEvent *event);
private slots:
void on_pushButton_7_clicked();
void shotScreenSlot();
void on_pushButton_6_clicked();
private:
Ui::MainWindow *ui;
QTimer *timer;
QPixmap pixmap;
};
#endif // MAINWINDOW_H
3,源文件
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>
#include <QDesktopServices>
#include <QClipboard>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->spinBox->setValue(3);
}
MainWindow::~MainWindow()
{
delete ui;
}
//截图实现
void MainWindow::on_pushButton_7_clicked()
{
if(ui->checkBox->isChecked())
{
//this->hide(); //隐藏窗口
this->timer=new QTimer;
connect(this->timer,SIGNAL(timeout()),
this,SLOT(shotScreenSlot()));
this->timer->start(1000/24);
}
else
{
qApp->beep(); //泵的一声
}
}
void MainWindow::shotScreenSlot()
{
this->pixmap=QPixmap::grabWindow(QApplication::desktop()->winId());
ui->label->setPixmap(this->pixmap.scaled(ui->label->size()));
//this->show();
//QClipboard *clipboard = QApplication::clipboard();
// clipboard->setPixmap(pixmap);
// this->timer->stop();
}
//保存截图
void MainWindow::on_pushButton_6_clicked()
{
QString fileName=QFileDialog::getSaveFileName(this,
"Save File",QStandardPaths::writableLocation(QStandardPaths::PicturesLocation));
this->pixmap.save(fileName);
}
//右键点击事件
void MainWindow::ContextMenuEvent(QContextMenuEvent *event)
{
/*
QMenu *menu=new QMenu(this);
QAction *action=new QAction(this);
connect(action,SIGNAL(triggered()),this,SLOT(on_pushButton_6_clicked()));
action->setText("Save As");
menu->addAction(action);
menu->exec(QCursor::pos());
*/
}
源代码资料
屏幕录制源代码
博文索引 持续更新中。。。
阅读全文
0 0
- 8Qt屏幕监控
- 将Qt截图的软件改为本地屏幕监控软件
- 屏幕监控
- 屏幕监控编程
- 高效屏幕监控
- IOS 监控屏幕旋转
- java实现屏幕监控
- [iOS]监控屏幕旋转
- QT的事件监控
- QT查找监控FTP
- qt实现截取屏幕
- QT截取屏幕
- QT截取屏幕
- Qt屏幕截屏
- Qt屏幕截屏
- QT 获得屏幕宽度
- Qt之溅射屏幕
- QT GUI 屏幕自适应
- 线段树(区间树)及相关应用
- 普通浏览器链接唤醒微信
- Fragment生命周期
- jstl中fn表达式
- android百度地图行政区填充颜色
- 8Qt屏幕监控
- 10个最容易犯的Python开发错误
- sublime text 3 教程(1)
- 工作是苦!还是乐!
- 【internship life】实习心得
- 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛The Heaviest Non-decreasing Subsequence Problem(线段树优化DP)
- Unity3d实现生命游戏(game Of Life)
- Java同步关键词synchronized和Lock接口
- jQuery length 和 size()区别