qt中进程的使用
qt中的进程使用需要用到头文件:include<QProcess>
首先来看看需要用到的主要的函数
(1)进程的定义:
QProcess *mprocess; //定义一个进程参数
(2)进程的初始化:
//初始化进程对象
mprocess = new QProcess();
(3)启动进程
//启动计算器
mprocess->start("calc");
(4)使用进程读取数据
while(mprocess->canReadLine()) //全部读出进程中的数据
(5)字符拼接QStringList的使用方法
QStringList list;
//拼接字符串,跟appen相似
list<<"ech0";
list<<ui->comboBoxArg->currentText();
mprocess->start(ui->comboBoxCmd->currentText(),list);//启动进程,后面跟的是参数
头函数:process.h
#ifndef PROCESS_H
#define PROCESS_H #include <QMainWindow>
#include <QProcess> //qt中进程的头文件
namespace Ui {
class Process;
} class Process : public QMainWindow
{
Q_OBJECT public:
explicit Process(QWidget *parent = );
~Process();
QProcess *mprocess; //定义一个进程参数 private slots:
void read_data();
void on_btn_cmd_clicked(); private:
Ui::Process *ui;
}; #endif // PROCESS_H
源文件:process.cpp
#include "process.h"
#include "ui_process.h"
#include <QDebug>
#include <QStringList>
Process::Process(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Process)
{
ui->setupUi(this);
//初始化进程对象
mprocess = new QProcess(); //监听读数据信号
connect(mprocess,SIGNAL(readyRead()),this,SLOT(read_data())); //添加运行参数
ui->comboBoxArg->addItem("192.168.1.246");
ui->comboBoxArg->addItem("./");
ui->comboBoxArg->addItem("c++"); ui->comboBoxCmd->addItem("ifconfig");
ui->comboBoxCmd->addItem("ls");
ui->comboBoxCmd->addItem("./test"); } Process::~Process()
{
delete ui;
} void Process::read_data()
{
while(mprocess->canReadLine()) //全部读出进程中的数据
{
qDebug()<<mprocess->readLine();
} } void Process::on_btn_cmd_clicked()
{
QStringList list;
//拼接字符串,跟appen相似
list<<"ech0";
list<<ui->comboBoxArg->currentText(); mprocess->start(ui->comboBoxCmd->currentText(),list);//启动进程,后面跟的是参数 }
qt中进程的使用的更多相关文章
- 4.QT中进程操作,线程操作
QT中的线程操作 T19Process.pro SOURCES += \ main.cpp CONFIG += C++11 main.cpp #include <QCoreApplicat ...
- QT的进程与线程(cmd /c的写法)
该文章原创于Qter开源社区(www.qter.org),作者yafeilinux,转载请注明出处! 导语 在前面的几节内容中讲解了Qt网络编程的一些基本内容,这一节来看一下在Qt中进程和线程的基本应 ...
- Qt中使用ActiveX(3篇)
由于最近需要使用ActiveX,一般来说可以使用微软提供的MFC或者ATL框架来开发,由于我个人对这部分内容不是很熟悉,好在Qt也提供对于ActiveX的支持.本文主要记录个人学习ActiveX的一些 ...
- QT中QProcess调用命令行的痛苦经历
在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在QT中通过QProcess类调用命令行的rar.exe来达到效果,但是没想到QProcess类用起来很麻烦,而且达不到效果,折腾了 ...
- 解析Qt中QThread使用方法
本文讲述的是在Qt中QThread使用方法,QThread似乎是很难的一个东西,特别是信号和槽,有非常多的人(尽管使用者本人往往不知道)在用不恰当(甚至错误)的方式在使用QThread,随便用goog ...
- QT中QProcess调用命令行的痛苦经历(调用Winrar,设置工作目录,获得输出,注意引号与括号,等等)
QT中QProcess调用命令行的痛苦经历 阅读目录 创建压缩包的方法 在QT中调用命令行 在QT中调用C++创建的dll 在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在Q ...
- Qt 中程序自动重启
参照至 dbzhang老师的博文,记录于此....... 要想理解重启,先得看看Qt程序怎么退出! 1.退出 int main(int argc, char** argv) { QApplicatio ...
- qt新进程工作目录的设置(工作目录确实是被子进程继承的,但也可以设置)
经过试验,qt启动一个新的进程时,这个进程的工作目录是继承父进程的,无论是通过start还是startDetached来启动. 其实对于linux系统,qt底层应该也是调用fork.exec之类的函数 ...
- QT中的线程与事件循环理解(1)
1.需要使用多线程管理的例子 一个进程可以有一个或更多线程同时运行.线程可以看做是“轻量级进程”,进程完全由操作系统管理,线程即可以由操作系统管理,也可以由应用程序管理.Qt 使用QThread 来管 ...
随机推荐
- static,final,包,访问修饰符,内部类
static 关键字可以修饰成员变量,被static修饰的成员变量归属于类static关键字可以修饰成员方法:被static修饰的成员方法可以直接使用类名调用,也可以通过对象调用,建议使用类名.非静态 ...
- Tomcat中虚拟路径
默认情况下,Tomcat访问静态资源配置是这样的 <Context path="/project_name" docBase="d:\tomcat_statics& ...
- 这些 Drawable 的小技巧,你都了解吗?
一.前言 在 Android 的开发过程中,Drawable 经常会被用到,一般会用 Drawable 为 View 设置一个显示的效果.而在 Android 下,也提供了很多 Drawable 的默 ...
- 如何在HTTP头中隐藏PHP版本号
PHP 配置默认允许服务器在 HTTP 响应头 X-Powered-By 中显示安装在服务器上的 PHP 版本.出于服务器安全原因(虽然不是主要的要担心的威胁),建议你禁用或隐藏此信息,避免那些针对你 ...
- 用python的requests第三方模块抓取王者荣耀所有英雄的皮肤
本文使用python的第三方模块requests爬取王者荣耀所有英雄的图片,并将图片按每个英雄为一个目录存入文件夹中,方便用作桌面壁纸 下面时具体的代码,已通过python3.6测试,可以成功运行: ...
- 图片布局css
对于平时项目开发中,经常要展示图片.什么水平居中显示,垂直居中显示,水平或垂直居中显示...我们的发际线就是这样往后退的. 接下来要讲的就是对于各种图片布局的css实现(这里针对的是img标签的不会使 ...
- C# Value type vs Reference type
[MY NOTE] [转载请注明出处] Reference Source: http://www.albahari.com/valuevsreftypes.aspx http://www.c-sh ...
- java内存模型个人理解总结
现阶段线程之间的通讯主要有两种:内存共享和消息传递,而且在java中是采用的内存共享.简单说下内存共享: 假设现在有a线程和b线程,在a和b线程之间的通讯是依靠a线程将相关数据刷新到共享内存,然后b线 ...
- 开发指南专题六:JEECG微云高速开发平台代码生成
开发指南专题六:JEECG微云高速开发平台代码生 1.1. 代码生成扫描路径配置 用代码生成器生成代码后.须要进行相关配置配置,扫描注入control.service.entity等; 具体操作过程例 ...
- 怎样将word文件转化为Latex文件:word-to-latex-2.56具体解释
首先推荐大家读一读这篇博文:http://blog.csdn.net/ibingow/article/details/8613556 --------------------------------- ...