当前位置: 首页 > news >正文

QT下,如何获取控制台输入

最近工作中为了测试某个模块,需要把原先输入模块部分,改成控制台输入来方便测试。在QT中,我们可以使用 QTextStream 类来读取用户的输入来达到目的。下面是一个简单的例子:

#include <QCoreApplication>
#include <QTextStream>int main(int argc, char *argv[]) {QCoreApplication app(argc, argv);QTextStream cin(stdin);QString input;while (true) {input = cin.readLine();if (input == "q") {break;}qDebug() << "You entered: " << input;}return app.exec();
}

当然,我们也可以把这段代码写到一个线程中来执行,例如:

void startForTestThread()
{QThread threadM;ForTest pForTestM = new ForTest();pForTestM->moveToThread(&threadM);threadM.start();connect(&threadM, SIGNAL(started()), this, SLOT(waitForEnter()));
}void waitForEnter()
{// for testQTextStream cin(stdin);QString input;while (true) {input = cin.readLine();if (input == "q") {break;}qDebug() << "You entered: " << input;// do something with "input"sendSignalSimulate(input.toInt());}
}

只要在你的程序合适位置调用startForTestThread函数即可。
综上,我们就可以通过输入不同的参数来进行测试了。

http://www.lryc.cn/news/401040.html

相关文章:

  • mybatis动态传入参数 pgsql 日期 Interval ,day,minute
  • 常见CSS属性
  • WSL-Ubuntu20.04训练环境配置
  • 运维检查:mysql表自增id是否快要用完
  • 深入理解FFmpeg--libavformat接口使用(一)
  • 坚持日更的意义何在?
  • 内容长度不同的div如何自动对齐展示
  • Qt中https的使用,报错TLS initialization failed和不能打开ssl.lib问题解决
  • P2p网络性能测度及监测系统模型
  • zookeeper相关总结
  • 【openwrt】Openwrt系统新增普通用户指南
  • 【GD32】从零开始学GD32单片机 | WDGT看门狗定时器+独立看门狗和窗口看门狗例程(GD32F470ZGT6)
  • 详解曼达拉升级:如何用网络拓扑结构扩容BSV区块链
  • 编译打包自己的云手机(redroid)镜像
  • 自动驾驶的规划控制简介
  • java配置nginx网络安全,防止国外ip访问,自动添加黑名单,需手动重新加载nginx
  • ARP协议
  • Qt程序图标更改以及程序打包
  • 普通人还有必要学习 Python 之类的编程语言吗?
  • 「Python」基于Gunicorn、Flask和Docker的高并发部署
  • 在攻防演练中遇到的一个“有马蜂的蜜罐”
  • 一文了解MySQL的表级锁
  • LVS+Keepalive高可用
  • 网络安全防御【防火墙安全策略用户认证综合实验】
  • IOS上微信小程序密码框光标离开提示存储密码解决方案
  • AWS CDN新增用户ip 地区 城市 响应头
  • Elasticsearch基础概念
  • Redis 7.x 系列【24】哨兵模式配置项
  • SpringBoot+Vue实现简单的文件上传(策略模式)
  • 软考中级科目包含哪些?应该考哪个?