如何将 Qt 窗口保存为图片

将 Qt 窗口保存为图片,可以使用 QPixmapQPainter 类。下面是一个示例代码,演示如何将窗口保存为图片:

1. 添加保存窗口函数 saveWindowAsImage()

mainwindow.cpp 文件中添加一个新的私有函数 saveWindowAsImage(),用于保存窗口为图片:

#include <QPixmap>
#include <QPainter>

void MainWindow::saveWindowAsImage()
{
    // 获取窗口的尺寸
    QSize windowSize = myWindow->size();

    // 创建一个 QPixmap 对象,用于保存窗口内容
    QPixmap pixmap(windowSize);

    // 创建一个 QPainter 对象,用于绘制窗口内容
    QPainter painter(&pixmap);

    // 将窗口内容绘制到 QPixmap 对象中
    myWindow->render(&painter);

    // 保存 QPixmap 对象为图片文件
    pixmap.save('window.png'); // 可以自定义保存路径和文件名
}

2. 在窗口点击事件中调用保存函数

onWindowClicked() 函数中调用 saveWindowAsImage() 函数来保存窗口为图片。修改代码如下:

void MainWindow::onWindowClicked()
{
    // 窗口被点击时触发的事件,可以在这里编写你想要执行的代码
    qDebug() << '窗口被点击了!';

    // 保存窗口为图片
    saveWindowAsImage();
}

3. 配置库文件

在保存窗口为图片之前,确保你已经安装了相应的图片处理库。在 .pro 文件中,确保已添加以下语句:

QT += core gui widgets
LIBS += -lQt5Gui

4. 运行程序

现在,当点击窗口时,窗口的内容将会被保存为一张名为'window.png'的图片文件。你可以根据自己的需求修改保存路径和文件名。

总结

通过以上步骤,你就可以将 Qt 窗口保存为图片了。如果你还有其他问题,请随时提问。

Qt 窗口截图保存为图片教程

原文地址: https://www.cveoy.top/t/topic/bRK6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录