Qt : QProcess】的更多相关文章

简介: 可用于完成启动外部程序,并与之交互通信. 启动一个进程的名字叫“program”,如果某进程的路径没有设置成环境变量,“program”需要包含路径 如果进程可以接收参数,参数叫“argument” 把“program”和“argument”和在一起叫“command” 部分方法说明: void QProcess::start(const QString &program, const QStringList &arguments, OpenMode mode = ReadWrit…
QProcess 类用来启动另外的一个出现并与他们联系. 开始一个进程,通过传递你想要运行程序的名称和命令行参数作为参数给start()函数,来开始一个进程.参数作为独立的字符串来提供. QProcess运行你对待一个进程就像一个I/O 设备一样.你能够从进程中读取和写入数据,就像是网络TCP套接字一样.你可以通过write()写入进程的标准输入,也可以通过read(),readline(),getChar()来读取程序的标准输出.因为它继承QIODevice 类.QProcess也可以为QXm…
void QProcess::finished(int exitCode, QProcess::ExitStatus exitStatus)…
主动宣告setProcessState(QProcess::NotRunning)   或者在堆上new一个QProcess.     出处:  https://stackoverflow.com/questions/33874243/qprocessstartdetached-but-hide-console-window I had exactly the same problem, and could not solve it in a clean way. I have found 2…
mac 辅助接口1.打开文件所在目录并选中该文件2.获取plist属性值3.系统关机4.打开系统网络设置5.字符串包含比较6.系统挂载数及挂载盘符信息 //====================================================1.打开文件所在目录并选中该文件<1>.cocoa NSWorkspace方式 void MacOpenLocateFileInWindow(const char *pChFilePath) { NSAutoreleasePool *po…
QProcess 可用于完成启动外部程序,并与之交互通信. 一.启动外部程序的两种方式 1)一体式:void QProcess::start(const QString & program,const QStringList &arguments,OpenMode mode = ReadWrite) 外部程序启动后,将随主程序的退出而退出. 2)分离式:void QProcess::startDetached(const QString & program,const QStrin…
在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在QT中通过QProcess类调用命令行的rar.exe来达到效果,但是没想到QProcess类用起来很麻烦,而且达不到效果,折腾了2天仍然没找到原因,使用另外一种办法解决了. 创建压缩包的方法 在windows平台创建压缩包,可以直接使用rar.exe,该程序在安装winrar之后,在其安装目录下就可以找到.该程序是winrar对应的命令行版本,其语法例子如下: rar.exe a -k -r -s -m1 test.rar…
项目做到一定阶段,常常须要在原来的project上调用外部程序. Qt为此提供了QProcess类,QProcess可用于完毕启动外部程序,并与之交互通信. 一.启动外部程序的两种方式: (1)一体式:void QProcess::start(const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite)         外部程序启动后.将随主程序的退出而退出. (2)分离式:void Q…
简述 QProcess可以在应用程序内部与其它进程通信,或启动其它应用程序.与在终端机之类的命令输入窗口上使用名称和参数是一样的,可以使用QProcess提供的函数start()启动进程.可以注册QStringList处理进程后的参数. 简述 命令行参数启动 说明 实现 命令行读取 说明 实现 更多参考 命令行参数启动 说明 进程A-带参启动进程B 一般编写程序时,严格来说,启动外部程序,需要判断版本是debug还是release.否则,有可能会造成错误. 判断将要启动的进程是否存在,如果不存在…
分类: Qt2011-02-18 21:35 1395人阅读 评论(3) 收藏 举报 qtmysql数据库windowspathcmd . 使用Qt做MySQL数据库开发,遇到需要备份.还原数据库的问题. MySQL中没有提供将数据库备份成.sql文件的SQL语句,而是提供了一个mysqldump.exe工具来完成这个功能. 没有SQL语句,QSqlQuery就用不成了,决定改用QProcess实现. . 但是在Qt中使用QProcess::execute()方法怎样都导不出数据来, 更郁闷的是…
做一个无法关闭的QT程序(想关闭时要在任务管理器里关闭),看似很难, 其实它并不难,只要让程序在关闭时启动它自身就可以了. 上代码: #include <QtGui> class Temp : public QWidget { Q_OBJECT private: QLabel *label; protected: void closeEvent(QCloseEvent *event); public: Temp(QWidget *parent = 0); ~Temp(); }; Temp::T…
QT中QProcess调用命令行的痛苦经历   阅读目录 创建压缩包的方法 在QT中调用命令行 在QT中调用C++创建的dll 在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在QT中通过QProcess类调用命令行的rar.exe来达到效果,但是没想到QProcess类用起来很麻烦,而且达不到效果,折腾了2天仍然没找到原因,使用另外一种办法解决了. 回到顶部 创建压缩包的方法 在windows平台创建压缩包,可以直接使用rar.exe,该程序在安装winrar之后,在其安装…
mainwindow.cpp文件: -------------------------------- #include "mainwindow.h" #include "ui_mainwindow.h" #include <QTextCodec> #include <QCloseEvent> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::Ma…
所谓 IO 其实不过是与其他设备之间的数据交互.在 Linux 上这个概念或许会更加清楚一些.Linux 把所有设备都看作是一种文件,因此所有的 IO 都归结到对文件的数据交互.同样,与其他进程之间也存在着数据交互,这就是进程间交互. 为什么需要进程间交互呢?Qt 虽然是一个很庞大的库,但是也不能面面俱到.每个需求都提供一种解决方案是不现实的.比如操作系统提供了查看当前文件夹下所有文件的命令(Windows 下是 dir, Linux 下是 ls),那么 Qt 就可以通过调用这个命令获取其中的信…
项目做到一定阶段,常常须要在原来的project上调用外部程序. Qt为此提供了QProcess类,QProcess可用于完毕启动外部程序,并与之交互通信. 基本用法: QProcess p(0); p.start("cmd", QStringList()<<"/c"<<"ping www.baidu.com"); p.waitForStarted(); p.waitForFinished(); QString strTe…
下午写程序中遇到几个小细节,需要在这里记录一下. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 QProcess *process = new QProcess(this);     QFileInfo fileinfo(appUrl);       QString appPath = QApplication::applicationDirPath()+SAVEDIR+"/"+fileinfo.fileName();     bool res = pro…
大概试了一下,还是不错的,不过字符编码问题还不太好解决: 代码: #include "mainwindow.h" #include "ui_mainwindow.h" #include <QMessageBox> #include <QProcess> #include <QTextCodec> #include <QCloseEvent> MainWindow::MainWindow(QWidget *parent)…
类 QDesktopServices 提供的方法 访问 常用的桌面 服务 , 如 浏览 器 . 播放器. 电子邮件客户端 . 我们 使用 QDesktopServices :: openUrl(url) ,可以根据指定的url 打开Web 浏览 器 , 并返回 结果,如果 成功返回true ,否则 返回false.相应的可以打开文件(夹),可执行程序等! 如果想要启动其他应用程序使用QProcess, 当发生错误时,可以根据 指定 的 错误 描述 所发生 的错误类型 . 描述:在界面启动后,可通…
简述 前几节里,分享了进程通信的几种方式:Windows消息机制.Shared Memory(共享内存),本节讲解下关于进程通信的另外一种方式-QProcess. 简述 命令行参数启动 说明 实现 命令行读取 说明 实现 更多参考 命令行参数启动 说明 进程A-带参启动进程B 一般编写程序时,严格来说,启动外部程序,需要判断版本是debug还是release.否则,有可能会造成错误. 判断将要启动的进程是否存在,如果不存在,则启动:否则,不启动. 传参:这里我列举的是json格式. 实现 voi…
头文件widget.h #ifndef WIDGET_H #define WIDGET_H #include <QWidget> namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); private slots: void on_submit_clicked(); private: Ui::W…
QProcess p(); p.start("route");//写入要运行的指令即可 p.waitForStarted(); p.waitForFinished(); qDebug()<<QString::fromLocal8Bit(p.readAllStandardError()); QProcess p(); p.start("cmd", QStringList()<<"/c"<<"dir&qu…
#include "widget.h" #include "ui_widget.h" #include "windows.h" #include <QWindow> #include <QProcess> Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); } Widget::~Widge…
在Qt里想与子程序通信, 一般都会用到QProcess这个类, 而且手册里也提到了很多通信的方法, 比如手册里的"Communicating via Channels". 我也不例外, 用的也是这货, 但在实际操作中, 还是遇到不少问题.... 我的目的是:     在主程序里调用"lftp.exe"来将一些文件上传到服务器上. 貌似很简单啊, 开工吧: connect(&_process, SIGNAL(readyReadStandardOutput())…
原博网址:http://www.cnblogs.com/feiyangqingyun/archive/2010/12/06/1898143.html 1.如果在窗体关闭前自行判断是否可关闭答:重新实现这个窗体的 closeEvent()函数,加入判断操作 void MainWindow::closeEvent(QCloseEvent *event){   if (maybeSave())   {writeSettings();event->accept();   }   else   {even…
为了将Qt Assistant定制为自己应用程序的帮助文档浏览器.需要完成以下几步: 一.导入HTML格式的帮助文档 (1)首先,针对自己的应用程序创建HTML格式的帮助文档,请参见<Doxygen生成HTML文件>.(下面示例假设HTML文件已经存在) (2)新建Gui应用.QtCreator-->new Project-->Qt Widgets Application 新建项目名称定义为“MyHelpThis”,类名定义为“MainWindow”,基类保持QMainWindow…
简述 QThread继承自QObject,它发射信号(signals)以表明线程执行开始或结束,并提供了一些槽函数(slots). 更有趣的是,QObjects可以在多线程中使用,发射信号以在其它线程中调用槽函数,并且向"存活"于其它线程中的对象发送事件(post events).这是可能的,因为每一个线程都拥有它自身的事件循环(event loop). 简述 QObject可重入性 每个线程的事件循环 从其它线程访问QObject子类 跨线程的信号和槽 QObject可重入性 QOb…
Phonon是QT提供的一套多媒体框架,提供多媒体播放图形界面和回放的功能,QT也是通过phonon来实现跨平台的多媒体播放.应用程序不需要关心多媒体播放到底是由什么实现的(如gstreamer.xine.mplayer),其应用框架实质上可以分为三部分:phonon.phonon_backend和播放后端,后端才是真正读取媒体.解码和播放的部分.QT中自带的phonon_backend是phonon_gstreamer,本文为了实现mplayer为播放后端,phonon_backend用的是p…
简介 今天分享的内容有些意思-如何重启一个应用程序.其实,有时候这是一个很重要的功能点,而且很人性化.易用性很好. 例如:切换用户.当某个用户登录成功之后,需要切换到其它账号,那么这时,你就知道它的重要性了. 简介 效果 qApp退出代码重启 定义退出代码 重启操作 修改应用程序循环 QProcess重启 源码下载 效果 qApp退出代码重启 定义退出代码 比较好的方式,在主窗口中定义一个静态变量: static int const EXIT_CODE_REBOOT; 并进行初始化: int c…
简介 "我们来自Qt分享&&交流,我们来自Qt Quick分享&&交流",不管你是笑了,还是笑了,反正我们是认真的.我们就是要找寻一种Hold不住的状态,来开始每一天的点滴分享,我们是一个有激情,有态度的部队. 但是我们还是我们,我们只是多了一份责任.古语有云:"不积跬步无以至千里,不积小流无以成江海",所以每一个伟大事务的产生都不是一蹴而就的.现在我们要立足眼下,把第一站放在地球,"<Qt 实战一二三>&quo…
/************************************************************************** * Qt 获取usb设备信息 hacking * 声明: * 本文主要是为了查看之前朋友留下的Qt获取usb设备信息软件运作机制. * * 2015-12-31 深圳 南山平山村 曾剑锋 *************************************************************************/ 一.usb…