gpt4 book ai didi

c++ - 每秒轮询一次QT中的变量

转载 作者:太空狗 更新时间:2023-10-29 20:05:04 26 4
gpt4 key购买 nike

我正在开发一个多线程图像处理应用程序。我添加了一个基于 QT 的 GUI,目的是更改一些我必须多次试验的参数,而不是每次启动程序时都从设置文件中加载它们或必须输入它们。我也想要GUI 显示每个线程的一些基本信息,以便我可以监视它们。我目前有在设置的图像处理线程之间传递信息的线程安全方法,我想要一种大约每秒从 QT 线程轮询一些此类信息的方法,以便我可以在 UI 上显示一些反馈。

我的要求是我不想将 QT 特定代码合并到图像处理线程中来更新 UI。我宁愿让 UI 线程轮询我当前用于在线程之间传递信息的方法。我希望我的代码库的图像处理部分独立运行,而不必依赖 QT 来运行。我将如何轮询全局可用函数来更新 QT UI?

最佳答案

QTimer是你的 friend 。

QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), &someQObjectDerivedClassInstance, SLOT(doYourThing()));
timer->start(1000);

或者在 Qt5 和 C++11 中,您可以直接连接到 lambda。尽管使用插槽可以确保在连接到另一个线程中的对象时获得排队连接。

关于c++ - 每秒轮询一次QT中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15556315/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com