Qt之命令行参数
2023-09-11 14:19:13 时间
在 Qt之进程间通信(QProcess)一节,我们讲解了如何通过QProcess来进行进程间的通信。主要通过启动外部程序,然后通过命令行的方式传递参数。
这里,我们可以通过Qt Creator来设置命令行参数Arguments,来设置需要用到的信息。也可以用来测试其它进程传参功能。
为了演示,我传递了一个Json对象:{\"UserName\":\"Qter\",\"Password\":\"123456\"}。
QJsonParseError jsonError; QJsonDocument doucment = QJsonDocument::fromJson(strJson.toLocal8Bit(), jsonError); if (jsonError.error != QJsonParseError::NoError) return; if (doucment.isObject()) QJsonObject obj = doucment.object(); QJsonValue value; if (obj.contains("UserName")) value = obj.take("UserName"); if (value.isString()) g_userInfo.strUserName = value.toString(); if (obj.contains("Password")) value = obj.take("Password"); if (value.isString()) g_userInfo.strPassword = value.toString(); int main(int argc, char *argv[]) QApplication a(argc, argv); // 解析命令行参数 parseArguments(); // 测试输出 qDebug() "UserName : " g_userInfo.strUserName; qDebug() "Password : " g_userInfo.strPassword; Widget w; w.show(); return a.exec(); }
输出信息如下:
Arguments : ("E:\\Qt\\Test\\build-TestArguments-Desktop_Qt_5_5_1_MSVC2013_32bit-Debug\\debug\\TestArguments.exe", "{\"UserName\":\"Qter\",\"Password\":\"123456\"}")
Json : "{\"UserName\":\"Qter\",\"Password\":\"123456\"}"
UserName : "Qter"
Password : "123456"
这里,我们也可以使用cmd来进行测试:
其实,这就是我们所说的进程通信,利用进程cmd.exe启动进程TestArguments.exe并将Json对象传递给它。
Qt QStandardItemModel(2.超级详细函数) 简介: 本文详细的介绍了TextEdit控件的各种操作,例如:获取内容、输入控件字符、保持在最后一行添加(自动滚屏)、定时关闭、添加数据换行、向鼠标位置插入一行字符、设置字体颜色属性等操作。 本系列QT全面详解文章目前共有十五篇,本系列文章较为详细的讲述了QT控件的基础操作和使用,也谢谢大家的关注、点赞、收藏。
Qt QStandardItemModel(1.超级详细用法) 本文详细的介绍了TextEdit控件的各种操作,例如:获取内容、输入控件字符、保持在最后一行添加(自动滚屏)、定时关闭、添加数据换行、向鼠标位置插入一行字符、设置字体颜色属性等操作。 本系列QT全面详解文章目前共有十五篇,本系列文章较为详细的讲述了QT控件的基础操作和使用,也谢谢大家的关注、点赞、收藏。
Qt&Vtk-002-第一个VtkQt程序 本文将是Qt与Vtk结合的第一个程序,主要就是将Vtk与Qt结合,但是呢,也不完全算是Qt与Vtk结合的程序,这里并没有用到QVTKOpenglWidget,仅仅是用了Qt编译器,还可以说是纯C++的项目,只是没有用CMake来管理代码。
相关文章
- 命令行编译Qt程序(nmake)
- QT-Qt中MediaPlay的使用,播放视频或MP4
- QT-在Qt Widgets Application中怎么显示printf的输出内容?
- s3c2410上搭建QT/Embedded4.8.5开发环境(一)---环境导读
- Qt设置运行时动态库路径的几点说明
- Qt鼠标拖曳以后松开停留在悬停颜色BUG
- Qt多线程编程两种方式详解
- Qt 的几种透明效果(三种方法:调色板,透明度属性,自绘)
- Qt项目实战:图片浏览器
- Qt串口通信接收数据不完整_qt串口接收数据
- QT配置opencv_qt调用opencv
- QT 程序打包的方法
- 【Qt】在ubuntu上为可执行程序qt创建图标(亲测)
- QT下载网址(国内)
- Qt之实现物体移动(QPainter)
- Qt QSS教程 QComboBox
- 【Qt】实现波浪动画效果
- QT-Valgrind内存分析
- 解决Ubuntu系统安装QT出错的问题:qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ““ even though it
- Qt QTabWidget标签页设置及获取
- Qt 中QString 字符串操作:连接、组合、替换、去掉空白字符