【问题标题】:How to make the code wait for receiving a signal in qt如何让代码在qt中等待接收信号
【发布时间】:2020-03-17 22:39:57
【问题描述】:

我有一个 gui 类和另一个名为 guiThread 的类。 gui 类以 guiThread 开头,作为一个线程,在信号和槽的帮助下与 gui 进行通信。
我在guiThread 中有一个名为doAction() 的插槽,并且我有一个从gui 类发送到该插槽的信号。
所以我想在guiThread 中做的是我想做一个while 循环,等待信号从gui 发送到doAction() 插槽,当它收到信号时,插槽会进行一些计算。
我不知道如何在循环中执行此操作,我什至不知道我想要的是否可能。如果有人可以帮助我,我将不胜感激。

【问题讨论】:

  • while 循环的目的是什么?只是闲着等待?我认为信号/槽的概念正是你想做的——不需要那个while循环。也许我误解了你想要做什么......?

标签: c++ qt signals slots


【解决方案1】:

你需要初始化一个私有布尔值block=true,然后等待while(block);的信号。每当您收到信号时,您都会在相应的插槽中进行计算,并在其末尾更新block=false。这样,当代码返回到while时,就会通过继续处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-13
    • 2011-04-03
    • 1970-01-01
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    • 2015-05-02
    相关资源
    最近更新 更多