Qt使用绿色pdf阅读器打开文件

1.下载SumatraPDF

2.设置

 3.代码

复制代码
void MainWindow::on_pushButton_clicked()
{
    QProcess *process = new QProcess();
    QString filePath = "C:\\Users\\jude\\Desktop\\su\\11.pdf";
    QString sumatraPath = "C:\\Users\\jude\\Desktop\\su\\SumatraPDF-3.5.2-64.exe"; // 请根据实际安装路径修改
    // 设置启动的程序和参数
    QStringList arguments;
    arguments << filePath;

    // 启动Sumatra PDF
    process->start(sumatraPath, arguments);

    // 等待进程启动
    if (!process->waitForStarted()) {
        qDebug() << "Failed to start Sumatra PDF.";
        return;
    }

    // 获取进程的PID
    qint64 pid = process->processId();
    qDebug() << "Sumatra PDF started with PID:" << pid;

    QTimer::singleShot(5000, [process]() {
        qDebug() << "Terminating Sumatra PDF...";
        process->terminate(); // 尝试优雅地终止进程
        if (!process->waitForFinished(3000)) { // 等待3秒
            qDebug() << "Sumatra PDF did not terminate gracefully. Killing it...";
            process->kill(); // 强制终止进程
            process->waitForFinished(); // 等待进程结束

            delete process;
        }
        qDebug() << "Sumatra PDF closed.";
    });

    qDebug() << "Sumatra PDF finished.";
}
复制代码

 

posted @   朱小勇  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2016-09-10 文件读取是判断是否读取到末尾
2016-09-10 C语言文件操作
点击右上角即可分享
微信分享提示