创建新项目,选择Qt Widgets Application桌面应用程序,选择之后,填写项目名称,根据默认选项走下一步到创建完成即可。
主界面设计,如图所示,可按照自己的想法进行可视化设计,增加Push Button,可以为按钮添加图标,首先我们可以增加资源文件,然后把图标全部放进资源文件中,如图所示,为按钮添加图标即可。
界面设计完成之后,我们可以对按钮添加功能代码,鼠标右键→转到槽→clicked(),这样我们就可以为按钮添加点击事件了。
添加截全图的代码,主要依赖于Qt提供的函数QGuiApplication::primaryScreen() 我们就能获取到全屏窗口的截图,然后保存图片,那么截全图的功能就完成了。
void MainWindow::on_pb_fullscreenshot_clicked()
{
hide();
if(MainWindow::isHidden()){
QThread::msleep(800);
QScreen *screen =QGuiApplication::primaryScreen();
if(const QWindow *window=windowHandle())
screen=window->screen();
if(!screen)
return ;
//0可以表示获取到全屏窗口的截图
originalPixmap=screen->grabWindow(0);
QDateTime current_date_time =QDateTime::currentDateTime();
QString current_date =current_date_time.toString("yyyy-MM-dd-hhmmss");
QString filename=current_date+".jpg";
originalPixmap.save(filename,"jpg");
//MainWindow::show();
show();
}
}