目录
一、项目介绍
- 一、项目介绍
- 二、项目基本配置
- 三、UI界面设计
- 四、主程序实现
- 4.1 widget.h头文件
- 4.2 widget.cpp源文件
- 五、效果演示
利用QScreen类相关操作实现截屏操作,并将截屏保存为png文件。
二、项目基本配置新建一个Qt案例,项目名称为“ScreenTest”,基类选择“QWidget”,点击选中创建UI界面复选框,完成项目创建。
三、UI界面设计UI界面如下: 界面中只创建了一个控件,其名称和类型如下:
在头文件中声明槽函数:
private slots:
void on_pushButton_clicked();
4.2 widget.cpp源文件
源文件中定义槽函数:
//按钮点击槽函数
void Widget::on_pushButton_clicked()
{
QScreen *screen=QGuiApplication::primaryScreen();//保留应用程序的主屏幕(最初显示QWindows的屏幕)
//创建并返回一个pixmap,它通过抓取受QRect(x、y、width、height)限制的给定窗口的内容来构造。如果窗口为0,则整个屏幕将被抓取。
QPixmap originalPixmap = screen->grabWindow(0,0,0,QApplication::desktop()->width(), QApplication::desktop()->height());
QString format = "png";//保存文件的后缀
QString initialPath = QDir::currentPath() + tr("/untitled.") + format;//默认名称
QString fileName = QFileDialog::getSaveFileName(this, tr("Save As"),
initialPath,
tr("%1 Files (*.%2);;All Files (*)")
.arg(format.toUpper()) //将format字符串大写
.arg(format));
if (!fileName.isEmpty())
{
originalPixmap.save(fileName, format.toLatin1());
QMessageBox::information(this,"success","截屏保存成功");//提示保存成功
}
}
五、效果演示
完整效果如下:
截屏图像如下:
【注意事项】:
- 注意一定要在开头包含
头文件,不然容易报错;
如果没有看懂的话,完整代码可以参考:https://download.csdn.net/download/didi_ya/80258153
ok,以上便是本文的全部内容了,如果对你有所帮助,记得点个赞哟~