当前位置: 首页 > article >正文

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.";
}

http://www.kler.cn/a/301435.html

相关文章:

  • 菜鸟入门Docker
  • Python的安装与配置并在本地盘符创建共享路径打造低成本私人云盘
  • 【Unity】il2cpp 项目Build报错
  • 白月光git
  • 怎么样处理浮毛快捷又高效?霍尼韦尔、希喂、米家宠物空气净化器实测对比
  • C# WPF编程-串口通信
  • 培训第九周(部署k8s基础环境)
  • 【STL中容器汇总】map、list、vector等详解
  • C#中的字段和属性
  • 240908-Linux通过ln设置软链接关联大模型文件
  • Linux 防火墙:iptables (一)
  • 路由器WAN口和LAN口有什么不一样?
  • 缺陷检测学习笔记20240912
  • vue3 element plus table 滚动到指定位置
  • 哈希leetcode-1
  • Unity教程(十五)敌人战斗状态的实现
  • C++ DLL DEMO
  • 摸鱼 | 图片转Excel单元格脚本
  • 【网易低代码】第2课,页面表格查询功能
  • erlang学习: Mnesia Erlang数据库3