c++ - 如何在没有 QT 应用程序的情况下使用 QTimer

标签 c++ qt timer

我想在我的常规类(class)中使用 QTimer(没有 QT 应用程序,但派生自 QTimer)。但是当我尝试这个时:

标题:

#include <qtimer.h>
QTimer* m_timer;
public slots:
    void UpdateClock();

来源:

    m_timer = new QTimer(this);
    QObject::connect(m_timer, SIGNAL(timeout()), this, SLOT(UpdateClock()));
    m_timer->start(1000);

void MyClass::UpdateClock()
{
    int i = 0;
}

计时器永远不会跳转到 UpdateClock 方法!你知道我为什么以及如何解决这个问题吗??

谢谢!

最佳答案

QTimer 依赖于 QCoreApplication。如果您不启动 QCoreApplication,则不会激活 QTimer。 (QApplication继承QCoreApplication,通常使用。)

关于c++ - 如何在没有 QT 应用程序的情况下使用 QTimer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20562142/

相关文章:

c++ - 如何使用QColumnView显示多列数据

java - 我的计时器在 java 中随机停止

c++ - 删除一个 vector 中包含在另一个 vector 中的所有元素的优雅方法?

c++ - 如何使用 doxygen 从 C++ 源代码创建 UML 类图

C++ : Calling a child method from parent instantiation

c++ -::operator() 是做什么的?

linux - 如何使用在旧 Linux 系统(例如 RedHat 4 或 RedHat 5)上运行的 Qt 5.5 构建软件?

c++ - Qt 与 Visual Studio 宏问题

c++ - 使用 std::chrono 计算持续时间在需要很长时间时给出 0 纳秒

xaml - 使用 progressBar xamarin 表单显示计时器