Qt技巧:QProcess与外部程序的调用】的更多相关文章

项目做到一定阶段,常常须要在原来的project上调用外部程序. Qt为此提供了QProcess类,QProcess可用于完毕启动外部程序,并与之交互通信. 一.启动外部程序的两种方式: (1)一体式:void QProcess::start(const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite)         外部程序启动后.将随主程序的退出而退出. (2)分离式:void Q…
项目做到一定阶段,经常需要在原来的工程上调用外部程序.Qt为此提供了QProcess类,QProcess可用于完成启动外部程序,并与之交互通信. 一.启动外部程序的两种方式:(1)一体式:void QProcess::start(const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite)外部程序启动后,将随主程序的退出而退出.(2)分离式:void QProcess::startDet…
项目做到一定阶段,常常须要在原来的project上调用外部程序. Qt为此提供了QProcess类,QProcess可用于完毕启动外部程序,并与之交互通信. 一.启动外部程序的两种方式:(1)一体式:void QProcess::start(const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite)        外部程序启动后.将随主程序的退出而退出.(2)分离式:void QPro…
QT中QProcess调用命令行的痛苦经历   阅读目录 创建压缩包的方法 在QT中调用命令行 在QT中调用C++创建的dll 在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在QT中通过QProcess类调用命令行的rar.exe来达到效果,但是没想到QProcess类用起来很麻烦,而且达不到效果,折腾了2天仍然没找到原因,使用另外一种办法解决了. 回到顶部 创建压缩包的方法 在windows平台创建压缩包,可以直接使用rar.exe,该程序在安装winrar之后,在其安装…
本文介绍的是Qt Designer设计 UI 文件并调用,在坛子里逛了一圈,关于UI方面的好像不怎多,本篇给大家分享一下. AD: 2013云计算架构师峰会超低价抢票中 Qt Designer设计 UI 文件并调用是本篇内容将要介绍的内容,不多说,先来看内容. 1.用designer设计一个UI.对象名保存为myui,基于QWidget类.(可以在此基础上随便添加一些控件之类.eg:pushButton).保存窗体为myui,or others. 2.为了明白其具体机制,我们可以用uic将此UI…
项目做到一定阶段,常常须要在原来的project上调用外部程序. Qt为此提供了QProcess类,QProcess可用于完毕启动外部程序,并与之交互通信. 基本用法: QProcess p(0); p.start("cmd", QStringList()<<"/c"<<"ping www.baidu.com"); p.waitForStarted(); p.waitForFinished(); QString strTe…
在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在QT中通过QProcess类调用命令行的rar.exe来达到效果,但是没想到QProcess类用起来很麻烦,而且达不到效果,折腾了2天仍然没找到原因,使用另外一种办法解决了. 创建压缩包的方法 在windows平台创建压缩包,可以直接使用rar.exe,该程序在安装winrar之后,在其安装目录下就可以找到.该程序是winrar对应的命令行版本,其语法例子如下: rar.exe a -k -r -s -m1 test.rar…
最近这阵子,接了个私活,封装一个开发包俗称的SDK给客户调用,查阅了很多人家的SDK,绝大部分用VC编写,而且VC6.0居多,估计也是为了兼容大量的XP用户及IE浏览器,XP自带了VC6.0运行库,所以无需兼带其他DLL即可运行.也发现有些用汇编和C封装的,那估计是高手才能编写啊!那怎么办呢?眼看一星期的交货期要到了,由于本人从来没有写过SDK开发包,心里那个着急啊,赶紧想出了三种处理方案. 方案一: 用自己最熟悉的QT来写,毕竟QT也是C++的一种嘛,应该可以和VC通用的.初步实验,你妹啊,调…
http://blog.csdn.net/u011012932/article/details/50478833…
QProcess 可用于完成启动外部程序,并与之交互通信. 一.启动外部程序的两种方式 1)一体式:void QProcess::start(const QString & program,const QStringList &arguments,OpenMode mode = ReadWrite) 外部程序启动后,将随主程序的退出而退出. 2)分离式:void QProcess::startDetached(const QString & program,const QStrin…
背景: QT在用户关闭窗口(直接点击"X"键)时,程序一般都需要做一些善后的事情,就我现在的程序来说,既关闭USB.如何实现? 正文: 首先,在对应窗体的".h"文件包含 #include <QCloseEvent>;的头文件. 其次,在该".h"文件中声明函数 void closeEvent( QCloseEvent * event); 注意:该函数已经在QT内部建立为点击"X"按钮的槽,不能更改其函数名: 最后…
背景: 最近在做的一个项目其中一部分既是实现PC与下位机的USB通信.windows平台下已经完成,现需移植到linux平台下. 在linux系统中,通过一段时间的工作,设备已被配置成hid类(后续再详述),并以hidraw类设备节点存在于系统中"/dev/"下.上位机则成功在console中通过调用HIDAPI库来写入.读取hidraw设备节点信息(后续再详述),而进一步的图形界面则需由QT来完成. hidraw设备介绍: https://www.kernel.org/doc/Doc…
使用QProcess QThread ============================================ #include <QProcess>int main(){QProcess::execute("ls");return 0;} ============================================   QProcess *poc = new QProcess; poc-> start( "ping 222.20…
C#编译一个dll,比如命名空间为Csharp,里面有个类A,字段x,产生一个Csharp.dll C++ 配置,让C++支持CLR C++调用方法: #include <iostream> #using "Csharp.dll"//#using 调用dll using namespace Csharp;//命令空间 int main() {     A ^a = gcnew A();   // 当分配内存时注意使用gcnew,需要gc来给其分配内存.托管对象需要使用^来进…
4.宏里调用并控制窗体以及窗体上的各种控件 1 Sub Criterion_Check() 2 If Workbooks.count = 0 Then '如果当前没有打开的工作薄的话需要发出警告 3 MsgBox "工作簿未创建,请先创建一个工作簿,或打开一个工作簿." 4 Exit Sub 5 End If 6 CriterionCheckDlg.Show (vbModeless) '调用对话框进行规则检查,放到static_check函数下,在按钮CommandButtonOk的响…
Qt 编译的时候默认会使用影子构建,这时在工作路径下会生成一个目录:xxx-build-desktop-xxx. 如果编译通过,在该目录下会生成一个可执行文件,双击之,但不能运行,提示是缺少某个动态库文件. 这时有两个解决方法: 其一,拷贝该动态库文件到该目录下: 其二,设置环境变量. { 如果是MSVC版本的Qt, 默认是 C:\Qt\Qt5.3.1\5.3\msvc2010_opengl\bin } http://blog.csdn.net/jan5_reyn/article/details…
1.去除对话框标题栏和边框 在构造函数里设置:    this->setWindowFlags(Qt::FramelessWindowHint); Qt::Dialog     (按照对话框的形式创建窗口--帮助/关闭)Qt::Window  (按照正常窗口的形式创建窗口--最大化/最小化/关闭)   2.窗口可移动 去除边框会造成窗口不可移动,可以通过以下方法来解决: 自定义鼠标按下事件和鼠标移动事件: void yourwindow::mousePressEvent(QMouseEvent…
因为https访问需要用到SSL认证,而QT默认是不支持SSL认证,所以在使用之前必须先做一些准备工作: 需要安装OpenSSL库: 1.首先打开http://slproweb.com/products/Win32OpenSSL.html网页: 2.下载安装包,我下载的是:Win32 OpenSSL v1.0.1c Light安装包,随着时间的推进,这个版本会不断更新的: 3.安装(exe文件)到本地,并且在安装过程中选择将库安装到OpenSSL的安装目录(/bin)下面. 4.将libeay3…
转自:http://www.stardrad.com/blog/qt-5%E7%A8%8B%E5%BA%8F%E5%9C%A8windows%E4%B8%8A%E7%9A%84%E5%8F%91%E5%B8%83/ http://blog.163.com/qimo601@126/blog/static/1582209320132291718389/ 最近做了个qt的程序,但是发布程序比较困难,因为qt5有着比较多的dll,如下两篇详述了qt dll依赖库,以及如何查询自己工程所用的dll及打包发…
当工程复杂的情况下,用眼睛去人工查看调用情况是很费力也没必要的.我们需要用 Eclipse 来做这点. (1)    我们查看本类调用他类情况可以直接看 import . (2)    如果要查看本类被其它类的调用情况,使用下面方法. (3)    可以查看到所有调用此类的地方.显示结果是类中的哪个方法调用过需要查找的类.(不要给我说ctrl + alt + h ,这个只能查看方法调用情况,不能看完整类调用情况,期间的便于不便自行体会)…
        曾经为qt不能直接导出excel而困扰,后来经过深入了解,得知qt支持xml国际语言,html是xml的一种.html是做网页的,相信大家比较熟悉.所以使用html的<table></table>生成表格.然后导出html格式文件.或者直接导出xls格式.excel是能够直接识别的.         下附简短代码: //初始化QTextEdit里面的内容 void MainWindow::initText(){    QString begin = QString:…
所谓 IO 其实不过是与其他设备之间的数据交互.在 Linux 上这个概念或许会更加清楚一些.Linux 把所有设备都看作是一种文件,因此所有的 IO 都归结到对文件的数据交互.同样,与其他进程之间也存在着数据交互,这就是进程间交互. 为什么需要进程间交互呢?Qt 虽然是一个很庞大的库,但是也不能面面俱到.每个需求都提供一种解决方案是不现实的.比如操作系统提供了查看当前文件夹下所有文件的命令(Windows 下是 dir, Linux 下是 ls),那么 Qt 就可以通过调用这个命令获取其中的信…
最近手头的一个项目需要做一个QT界面,并且封装成DLL,然后再动态调用DLL给出的接口函数,使封装在DLL内部的QT界面跑起来,在网上查了很多资料,今天终于成功了,经验不敢独享,因为CSDN给了我很多帮助,将心得写在这里供大家参考. PS:本文中谈的是用QT封装一个包含界面的DLL,然后在其他任何地方使用任何语言来调用这个DLL,不是那种在qt creator里面建一个dll工程,然后再在qt creator里建一个调用该dll的工程的情况(这种示例可参考该链接http://download.c…
1.       前言 Qt本身给我们提供了调用WebService的解决方案qsoap,看了一下他的介绍,感觉实在是太弱了,而且又是个新出的东西,所以还是决定不用他.既然使用Qt,那当然是跨平台的解决方案才合适,显示MS的SoapToolKit也不在选择的范围.于是改用老牌的gsoap. 2.       环境 Qt版本: Qt4.6(其他版本也适合) GSOAP版本: gsoap2.7.12(其他版本也适用) 服务端开发环境: VS2008.C#..net2.0以上 3.       准备…
打开VS2008创建一个dll项目(创建了一个QT Library项目),新建头文件q4dapplication.h定义纯虚类: #ifndef Q4DAPPLICATION#define Q4DAPPLICATION class Q4DApplication  {  public:   virtual int exec() = 0;  };#endif 新建头文件q4dapplicationimpl.h实现纯虚类: #ifndef Q4DAPPLICATIONIMPL#define Q4DAP…
最近手头的一个项目需要做一个QT界面,并且封装成DLL,然后再动态调用DLL给出的接口函数,使封装在DLL内部的QT界面跑起来,在网上查了很多资料,今天终于成功了,经验不敢独享,因为CSDN给了我很多帮助,将心得写在这里供大家参考. PS:本文中谈的是用QT封装一个包含界面的DLL,然后在其他任何地方使用任何语言来调用这个DLL,不是那种在qt creator里面建一个dll工程,然后再在qt creator里建一个调用该dll的工程的情况(这种示例可参考该链接http://download.c…
目录 Qt DLL总结[一]-链接库预备知识 Qt DLL总结[二]-创建及调用QT的 DLL Qt DLL总结[三]-VS2008+Qt 使用QPluginLoader访问DLL 开发环境:VS2008+Qt4.7.4 最近看了不少Qt的DLL例子,总结一下如何创建和调用QT 动态链接库. 先讲一下对QT动态链接库的调用方法,主要包括: 1.显式链接DLL,调用DLL的全局函数,采用Qt的QLibrary方法 2.显示链接DLL,调用DLL中类对象.成员函数.(通过对象即可实现类成员函数的调用…
先讲一下对QT动态链接库的调用方法,主要包括: 1.显式链接DLL,调用DLL的全局函数,采用Qt的QLibrary方法 2.显示链接DLL,调用DLL中类对象.成员函数.(通过对象即可实现类成员函数的调用) ①用虚函数表的方法,这也是COM使用的方法,利用Qt的QLibrary技术调用: ②用GetProcAddress直接调用. ③用Qt的QPluginLoader类直接调用生成的DLL插件类对象 3.隐式链接DLL:也是采用Qt的Qlibrary方法 关于这种三种方法,下面详细叙说 详细分…
开发环境:VS2008+Qt4.7.4 最近看了不少Qt的DLL例子,总结一下如何创建和调用QT 动态链接库. 先讲一下对QT动态链接库的调用方法,主要包括: 1.显式链接DLL,调用DLL的全局函数,采用Qt的QLibrary方法 2.显示链接DLL,调用DLL中类对象.成员函数.(通过对象即可实现类成员函数的调用) ①用虚函数表的方法,这也是COM使用的方法,利用Qt的QLibrary技术调用: ②用GetProcAddress直接调用. ③用Qt的QPluginLoader类直接调用生成的…
Qt中的每个类,都有一个对应的同名头文件,其中包含其类定义.例如要使用QApplication类,则需要在程序中添加" #include <QApplication>"   QApplication类用于管理应用程序范围内的资源.其构造函数需要main函数的argc和argv作为参数.   widget被创建时都是不可见的(always created hidden).widget中可容纳其它widget.   Qt中的widget在有用户行为或状态改变时会emit sig…