问题标签 [qtimer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
464 浏览

c++ - 如何从任何地方完成 Qt 程序?

我的例子:


在评论处,我尝试这样做: qApp->exit() 和 qApp->quit() 和 this->close() (但未显示“this”,并且当然 close() 不起作用)。如何从任何代码位置完成应用程序?


完整代码:
main.cpp


主窗口.h


主窗口.cpp

和 ConnectionForm - 它只是一个带有一些 GUI 并且没有任何额外代码的 QDialog。

0 投票
2 回答
554 浏览

c++ - 按下按钮后如何停止后台循环?

在我的程序中,我打开一个窗口并运行一个大循环。我在QTextEdit. 我添加了一个取消按钮来停止大循环。

所以在窗口构造函数中,我运行了一个看起来像这样的方法,

因此,当我单击停止按钮时,它会运行插槽

该方法的问题是processEvents()执行时间太慢了..但也许这是不可避免的..

我想尝试使用信号和插槽,但我似乎无法想到如何将按下的停止按钮与循环连接。

或者,信号和插槽与否,也许有人有更好的方法来实现这一点?

编辑

遵循这个线程建议,我现在有一个工作线程/线程场景。所以我有一个窗口构造函数

这似乎工作正常。但是我怎么能介绍 a QTimernow 呢?

我应该连接QTimer到线程的start()函数吗

或者,我应该将线程连接到QTimer'sstart()函数吗?

或者两者都不是......但是,如何?

0 投票
4 回答
6154 浏览

c++ - QT:如何每秒循环一个方法?C++

我创建了一个 Qt 项目,它在小部件上显示一个圆圈。然后我有一个方法,每次调用该方法时都会在不同的位置重绘圆。我想要的是在 for 循环中运行该方法,例如十次,并显示每秒钟重绘圆的 10 个位置中的每一个。

类似于以下内容:

我读过 QTimer,但不知道如何使用它。并且睡眠功能不起作用。

0 投票
2 回答
1776 浏览

c++ - 带有 QPaintEvent 的 QTimer

我创建了一个小型 QT 应用程序,它在随机位置重绘一个圆圈。我想要做的是重复该方法预定的次数,使用 QTimer每秒绘制一个圆圈。

我不知道该怎么做。

这是我的main.cpp

小部件.cpp

小部件.h

我将如何创建一个 Qtimer 来重复 printcicle() 方法。

谢谢

0 投票
2 回答
1033 浏览

c++ - 将多个 QTimers 调用排队到插槽

我正在使用一个库,我需要调用一个触发函数来启动一些处理(启动一个执行该工作的线程)并立即返回。然后,当处理完成时,会发出一个信号。

这需要根据不同的参数定期进行。由于在处理过程中不能对触发函数进行其他调用,因此我需要以某种方式对它们进行排队。我考虑过使用 QEventLoop (“循环”),但到目前为止还没有运气。

请看这段代码:

问题是在处理过程中调用 loop.exec() 时,我收到以下消息:

做我想做的事情的正确方法是什么?

提前致谢。

0 投票
2 回答
1398 浏览

c++ - 工作线程中的 QTimer

我有一个Worker类在另一个线程中做一些工作,它使用moveToThread(). 在Worker::doWork()方法内部,我还创建了一个QTimer应该根据任务将花费的估计时间发出进度更新的方法。

这是一个例子:

现在这不能按预期工作。插槽仅在updateProgress()工作完成后才开始被调用。

0 投票
2 回答
281 浏览

c++ - QTimer的机制

假设timer是 的一个对象QTimer,定时器的时间间隔是iInterval,定时器的超时信号连接到一个槽sltTimeout()

我只是在想如果iInterval小于sltTimeout()运行时间会发生什么。结果会运行多个线程sltTimeout()吗?如果是这样,似乎可能会导致对对象的非同步访问出现问题。

谁能澄清一下?

0 投票
1 回答
742 浏览

c++ - 如果我有几个重叠的 QTimer 会发生什么

假设我有 2 个QTimer对象,它们的间隔为10、20。并假设我想使用计时器 1信号和计时器 2 运行。所以and的运行顺序是这样的: slot1()timeoutslot2slot1slot2

我想在 20 毫秒后知道slot1&中的哪一个slot2首先执行?以及如何强制事件循环运行slot2,然后slot1在它们重叠时运行。(slot2对我来说按时运行更重要)

0 投票
1 回答
205 浏览

c++ - 我可以使用 QTimer 来实现多线程算法吗?

目前我需要实现一个基于Qt的多线程算法。也许我应该尝试扩展QThread. 但在此之前,我想问一下,我是否可以只使用两个QTimers timer1timer2,并将它们的超时信号分别连接到线程,来实现一个“假”的多线程程序?

0 投票
0 回答
1260 浏览

c++ - QTimer:定时器只能用于以 QThread 启动的线程

我见过一些人和我有同样问题的人,但解决方案对我不起作用。

这是我的代码:

我正在编写一个每 10 毫秒发送一个 UDP 帧的程序。这是我的程序应该如何工作的:

我有一个client class

然后我在我的main

为什么定时器不能工作?我必须在其他地方启动它吗?

谢谢。