V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
maxssy
V2EX  ›  Qt

QSerialPort 如何实现同一个串口设备命令做出不同操作?

  •  
  •   maxssy · 288 天前 · 406 次点击
    这是一个创建于 288 天前的主题,其中的信息可能已经有所发展或是发生改变。
    串口设备的查询接口会返回 A 或者 B, 以下有两个场景需要用到这个命令但是接受到返回后的动作不一样:
    场景 1: 窗口启动后自动调用接口, 收到 A 或 B 后显示在页面上
    场景 2: 页面上的按钮 btn 按下后先调用查询接口, 然后如果返回 A 则执行 aa 函数如果返回 B 则执行 bb 函数

    如果都写在 QSerialPort::readyRead 信号下处理则每次窗口启动都会自动执行场景 2 的动作. 有什么办法让程序在 btn 按下后才执行场景 2?
    2 条回复
    Eiden
        1
    Eiden  
       288 天前
    用个全局 flag 记录当前是什么场景?
    maxssy
        2
    maxssy  
    OP
       288 天前
    @Eiden 只有这一个办法吗? 如果这种情况很多的话岂不是全局 flag 满天飞?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2539 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:25 · PVG 23:25 · LAX 07:25 · JFK 10:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.