`
tcspecial
  • 浏览: 910369 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

QProcess 启动外部程序

阅读更多

1. 堵塞运行

QProcess process;
process.execute( "sub.exe", params ); 
process.waitForFinished();

 execute 方法以堵塞方式执行程序,直到程序退出。

 

2. 异步运行

process.start( "sub.exe", params );

start 方法单独启动一个进程,hdbwrite命令位于系统环境变量中。 

 

3. 程序路径

有时要执行一个单独的小程序,不想配置至系统环境变量,怎么办?

如程序目录:

| -- test
|      |
|      | -- main.exe 
|      | -- subdir 
|               | -- sub.exe
|

 

方法一:

把subdir内容全部放至test主目录下,直接可通过以下代码启动。

process.start( "sub.exe" );

 

方法二:

所有程序放在一个目录,强迫症的童鞋可接受不了。可设置程序工作目录启动程序。

process.setWorkingDirectory( "./subdir" );
process.start( QApplication::applicationDirPath() + "subdir/sub.exe" );

 

 

 

分享到:
评论

相关推荐

    使用QProcess启动并嵌入带界面应用程序

    在做系统集成框架软件时,经常遇到需要将已有程序的界面嵌入到统一框架软件的情形,该示例程序演示了在Qt5平台下面,使用QProcess启动并嵌入带界面应用程序的方法。该方法在Windows、Linux等操作系统下测试通过,...

    QT通过QProcess调用外部可执行程序,并将其嵌入到主窗口中

    创建QProcess对象后,我们可以使用`start()`方法来启动外部程序。这个方法接受两个参数:一个是命令(或可执行文件的路径),另一个是命令行参数列表。例如,如果我们要启动一个名为`startChildProcess.exe`的外部...

    Qt调用CMD启动外部程序Demo.zip

    总结一下,这个"Qt调用CMD启动外部程序Demo"是一个学习如何使用QProcess启动外部程序的实例,特别是通过CMD作为中介。同时,它也提醒我们在进行Qt项目开发时,需要注意CMake配置,确保所有资源文件在构建过程中得到...

    QT通过QProcess调用外部可执行程序,并将其嵌入到主窗口中.7z

    3. **启动外部程序**:使用start()函数启动外部可执行文件,并传递任何必要的参数。 ```cpp process->start("/path/to/external/application", {"arg1", "arg2"}); ``` 4. **获取窗口句柄**:在外部程序启动后,你...

    C++ QT调用外部程序(QProcess)

    例如,如果外部程序不存在或无法启动,`QProcess`会抛出一个异常。你应该捕获这些异常并提供适当的错误处理。 总之,`QProcess`是C++ Qt框架中一个功能强大且灵活的工具,它使开发者能够轻松地在应用程序中集成外部...

    qt 使用api 隐藏ui启动第三方exe

    1. **QProcess**:这是Qt提供的一个类,用于与外部进程进行通信,包括启动、控制和监控进程。它是实现隐藏启动第三方应用的主要工具。 2. **startDetached()**:这是QProcess类的一个方法,用于启动一个独立于调用...

    qt 调用外部可执行程序

    1. **使用QProcess启动外部程序** 在Qt中,我们可以创建一个`QProcess`对象,并调用其`start()`函数来启动外部程序。基本语法如下: ```cpp QProcess *process = new QProcess(this); process->start("path_to_...

    qt编程下实现点击按钮调用外部程序

    在这个函数中,我们将使用`QProcess`来启动外部程序。假设我们想在用户点击按钮后打开一个记事本程序,我们可以这样做: ```cpp void YourClass::onButtonClick() { QProcess *process = new QProcess(this); /...

    【QT】通过QProcess实现一个命令行

    在QT中,QProcess模块是一个非常实用的类,用于执行外部程序并与其进行通信。这个【QT】通过QProcess实现一个命令行的项目,就是利用QProcess来创建一个简单的命令行接口,使得用户可以在应用内部执行系统命令。 ...

    外部exe程序嵌入到Qt界面,点击按钮在QT中运行显示

    我们需要将按钮的`clicked()`信号连接到一个槽函数,这个槽函数将负责启动外部程序。 ```cpp // 在Qt Creator中使用信号和槽编辑器,或者手动编写以下代码 connect(ui->runButton, &QPushButton::clicked, this, &...

    QProcess资料大全

    QProcess的核心方法是`start()`,用于启动外部程序。在示例代码中,我们可以看到如何使用`QProcess::execute()`简洁地执行一个命令,如重启lighttpd服务。而更复杂的操作,如删除文件,可以通过创建`QProcess`对象,...

    Qprocess实例

    在QT中,你可以通过创建QProcess对象,然后调用`start()`函数来启动一个外部程序。例如,如果要打开一个Word文档,可以使用以下代码: ```cpp QProcess *process = new QProcess(this); QString command = "C:\\...

    qt程序中嵌入第三方exe外壳实例程序

    2. 使用QProcess启动外部EXE程序,设置好工作目录和命令行参数。确保QProcess的输出和错误流被正确处理,以便在需要时显示或记录。 3. 创建一个命名管道,用于Qt界面与外部程序之间的通信。可以使用QPipe或直接操作...

    QT中调用外部程序源码

    使用`start()`方法启动外部程序,传入程序路径和参数。例如,启动命令行程序`ls`: ```cpp myProcess->start("/bin/ls", {"-l"}); ``` 如果需要等待程序执行完成,可以使用`waitForStarted()`和`...

    qt使用QProcess实现父子进程通信,适用linux平台

    在实际应用中,`mainProc`可能是一个Qt应用程序,它使用QProcess启动`subProc`,并通过标准输入/输出进行通信。 总结,Qt的QProcess类为Linux平台的父子进程通信提供了一种简洁而强大的方式。通过理解和熟练使用...

    Ping with new QProcess

    QProcess是QT库中的一个关键组件,它允许我们与操作系统进行交互,执行外部应用程序并捕获其输出。在这个场景中,我们将使用QProcess来调用系统内置的cmd命令行工具,执行ping命令,并处理返回的结果。 首先,我们...

    qt QProcess 类调用 mplayer

    QProcess是Qt中的一个类,允许我们在应用中启动、控制和通信与其他进程,包括系统命令和外部程序。 **QProcess类**:QProcess是Qt的一个核心类,主要用于与操作系统交互,执行外部命令和脚本。它支持读取输出、写入...

    进程终结者 ——qt实现的关闭外部程序

    在IT行业中,进程控制是操作系统管理的基础任务之一,尤其在开发应用程序时,能够有效地管理和终结外部程序显得尤为重要。本项目“进程终结者”是基于Qt框架,使用C++语言实现的一个实用工具,旨在帮助用户终止指定...

    Qt编写守护进程

    本篇文章提供一个软件实现守护进程的办法,原理就是udp通信,单独写个守护进程程序,专门负责检测主程序是否存在,不存在则启动。主程序只需要启动live类监听端口,收到hello就回复ok就行。 为了使得兼容任意程序,...

    QProcess进程间通信.rar

    QProcess类为开发者提供了启动、监控以及与外部进程进行通信的能力。在Windows环境下,它支持多种通信方式,如管道(pipe)、共享内存、信号量等。在这个案例中,我们看到两个子文件"Recevice"和"Send",它们分别...

Global site tag (gtag.js) - Google Analytics