qt - 如何使用 QTimer

标签 qt timer

在 Qt 中,我试图设置一个 QTimer每秒调用一个名为“更新”的函数。这是我的 .cpp 文件:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTimer>
#include "QDebug"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QTimer *timer = new QTimer(this);
    connect(timer, SIGNAL(timeout()), this, SLOT(update()));
    timer->start(1000);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::update()
{
    qDebug() << "update";
}

和主要的:
#include <QtGui/QApplication>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

该项目正在构建,但它不执行更新,因为“更新”行没有显示在任何地方......有没有人看到我做错了什么?

最佳答案

  • 给你的 parent 一个好习惯 QTimer使用 Qt 的内存管理系统。
  • update()是一个 QWidget 函数 - 那是你想要调用的吗? http://qt-project.org/doc/qt-4.8/qwidget.html#update .
  • 如果数字 2 不适用,请确保您尝试触发的函数被声明为 header 中的插槽。
  • 最后,如果这些都不是您的问题,那么了解您是否遇到任何运行时连接错误会很有帮助。
  • 关于qt - 如何使用 QTimer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11651852/

    相关文章:

    qt - 如何为项目QtCreator创建子目录?

    c++ - 我怎样才能使 Qt 应用程序更小

    Java 延迟事件处理

    java - 如何在android中暂停和恢复倒计时器

    c++ - `std::chrono`时钟与 `boost::xtime`的比较

    c++ - 从 Qt C++ 中动态创建的 Qline 编辑中获取文本值

    c++ - Qt::make_shared 用于创建 QSharedPtr 和 std::make_shared 用于创建 std::shared_ptr

    timer - 如何在 NetLogo 中创建倒数计时器?

    javascript - 基于计时器 jQuery 循环悬停状态

    qt - 在 PopupCompletion 模式下自动选择 QCompleter 的第一个命题