问题标签 [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.
c++ - 如何从任何地方完成 Qt 程序?
我的例子:
在评论处,我尝试这样做: qApp->exit() 和 qApp->quit() 和 this->close() (但未显示“this”,并且当然 close() 不起作用)。如何从任何代码位置完成应用程序?
完整代码:
main.cpp
主窗口.h
主窗口.cpp
和 ConnectionForm - 它只是一个带有一些 GUI 并且没有任何额外代码的 QDialog。
c++ - 按下按钮后如何停止后台循环?
在我的程序中,我打开一个窗口并运行一个大循环。我在QTextEdit
. 我添加了一个取消按钮来停止大循环。
所以在窗口构造函数中,我运行了一个看起来像这样的方法,
因此,当我单击停止按钮时,它会运行插槽
该方法的问题是processEvents()
执行时间太慢了..但也许这是不可避免的..
我想尝试使用信号和插槽,但我似乎无法想到如何将按下的停止按钮与循环连接。
或者,信号和插槽与否,也许有人有更好的方法来实现这一点?
编辑
遵循这个线程建议,我现在有一个工作线程/线程场景。所以我有一个窗口构造函数
这似乎工作正常。但是我怎么能介绍 a QTimer
now 呢?
我应该连接QTimer
到线程的start()
函数吗
或者,我应该将线程连接到QTimer
'sstart()
函数吗?
或者两者都不是......但是,如何?
c++ - QT:如何每秒循环一个方法?C++
我创建了一个 Qt 项目,它在小部件上显示一个圆圈。然后我有一个方法,每次调用该方法时都会在不同的位置重绘圆。我想要的是在 for 循环中运行该方法,例如十次,并显示每秒钟重绘圆的 10 个位置中的每一个。
类似于以下内容:
我读过 QTimer,但不知道如何使用它。并且睡眠功能不起作用。
c++ - 带有 QPaintEvent 的 QTimer
我创建了一个小型 QT 应用程序,它在随机位置重绘一个圆圈。我想要做的是重复该方法预定的次数,使用 QTimer每秒绘制一个圆圈。
我不知道该怎么做。
这是我的main.cpp
小部件.cpp
小部件.h
我将如何创建一个 Qtimer 来重复 printcicle() 方法。
谢谢
c++ - 将多个 QTimers 调用排队到插槽
我正在使用一个库,我需要调用一个触发函数来启动一些处理(启动一个执行该工作的线程)并立即返回。然后,当处理完成时,会发出一个信号。
这需要根据不同的参数定期进行。由于在处理过程中不能对触发函数进行其他调用,因此我需要以某种方式对它们进行排队。我考虑过使用 QEventLoop (“循环”),但到目前为止还没有运气。
请看这段代码:
问题是在处理过程中调用 loop.exec() 时,我收到以下消息:
做我想做的事情的正确方法是什么?
提前致谢。
c++ - 工作线程中的 QTimer
我有一个Worker
类在另一个线程中做一些工作,它使用moveToThread()
. 在Worker::doWork()
方法内部,我还创建了一个QTimer
应该根据任务将花费的估计时间发出进度更新的方法。
这是一个例子:
现在这不能按预期工作。插槽仅在updateProgress()
工作完成后才开始被调用。
c++ - QTimer的机制
假设timer
是 的一个对象QTimer
,定时器的时间间隔是iInterval
,定时器的超时信号连接到一个槽sltTimeout()
。
我只是在想如果iInterval
小于sltTimeout()
运行时间会发生什么。结果会运行多个线程sltTimeout()
吗?如果是这样,似乎可能会导致对对象的非同步访问出现问题。
谁能澄清一下?
c++ - 如果我有几个重叠的 QTimer 会发生什么
假设我有 2 个QTimer
对象,它们的间隔为10、20。并假设我想使用计时器 1信号和计时器 2 运行。所以and的运行顺序是这样的: slot1()
timeout
slot2
slot1
slot2
我想在 20 毫秒后知道slot1
&中的哪一个slot2
首先执行?以及如何强制事件循环运行slot2
,然后slot1
在它们重叠时运行。(slot2
对我来说按时运行更重要)
c++ - 我可以使用 QTimer 来实现多线程算法吗?
目前我需要实现一个基于Qt的多线程算法。也许我应该尝试扩展QThread
. 但在此之前,我想问一下,我是否可以只使用两个QTimer
s timer1
,timer2
,并将它们的超时信号分别连接到线程,来实现一个“假”的多线程程序?
c++ - QTimer:定时器只能用于以 QThread 启动的线程
我见过一些人和我有同样问题的人,但解决方案对我不起作用。
这是我的代码:
我正在编写一个每 10 毫秒发送一个 UDP 帧的程序。这是我的程序应该如何工作的:
我有一个client class
:
然后我在我的main
:
为什么定时器不能工作?我必须在其他地方启动它吗?
谢谢。