如果 QTimer 不停止会发生什么

梦幻盒子

我有一个问题:如果我启动 QTimer 但不停止它,内存或其他事情会怎样。

这是我的代码:文件啊

void updateProgressBar()

文件 a.cpp

void updateProgressBar(){
timer= new QTimer(this);
timer->setInterval(1000);
timer->setSingleShot(false);
connect(timer,SIGNAL(timeout()),
        myMainUi,
        SLOT(setProgressBar()));
timer->start();
}

文件 Main.cpp

int main(){
     while(1){
        updateProgressBar();
    }
return 1;
}

谢谢

达米安

QTimer 是从 Qt 内部事件循环触发的。

您的代码将创建无限数量的 QTimer 并最终崩溃。

如果您使用 Qt 进行编程,您将避免像 while (1) 那样出现无限循环,这将不起作用,因为它会阻塞 Qt 事件循环。

鉴于您似乎有一个 UI,您的代码应该在一个类中,在这种情况下,在类定义中将 QTimer 声明为私有成员而不是指针会更有意义,然后在构造函数上初始化它。

class MyClass: public QObject
{
    Q_OBJECT

public:
    void startUpdateProgressBar() { 
        myTimer.singleShot(false);
        myTimer.start(1000);
    }

    void stopUpdateProgressBar() { 
        myTimer.stop();
    }

  private:
        QTimer myTimer;
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果rm在提示中途停止,会发生什么情况?

来自分类Dev

如果ThreadPool线程死亡,会发生什么?

来自分类Dev

如果ThreadPool线程死亡,会发生什么?

来自分类Dev

如果未设置枚举,会发生什么?

来自分类Dev

如果我安装 Wayland 会发生什么?

来自分类Dev

如果Ubuntu停止桌面,基本操作系统会发生什么?

来自分类Dev

如果会话停止,Spark 上下文会发生什么?

来自分类Dev

如果我有几个重叠的QTimer,该怎么办

来自分类Dev

如果我有几个重叠的QTimer会怎样?

来自分类Dev

什么会导致失败触发,如果失败会发生什么

来自分类Dev

如果线程在关键部分内死掉会发生什么?

来自分类Dev

如果我多次调用C的read()会发生什么?

来自分类Dev

如果将kSecAttrIsPermanent设置为NO,会发生什么?

来自分类Dev

CommonJS是同步的,但是如果调用异步函数会发生什么

来自分类Dev

如果Grails BuildConfig范围未指定组织,会发生什么?

来自分类常见问题

如果您不解决或拒绝诺言,会发生什么?

来自分类Dev

如果APNS设备令牌过期,会发生什么?

来自分类Dev

如果Python线程在获取锁后死亡,会发生什么?

来自分类Dev

如果用express js重载相同的路由会发生什么?

来自分类Dev

如果我呼叫等待通知的条件变量会发生什么

来自分类Dev

如果我不清除stringstream,会发生什么?

来自分类Dev

如果释放它的指针,线程会发生什么

来自分类Dev

如果我使用非最终的ConcurrentHashMap会发生什么

来自分类Dev

如果ASP页意外退出,对Connection事务会发生什么?

来自分类Dev

如果不返回回调会发生什么

来自分类Dev

如果HashMap的加载因子大于1,会发生什么?

来自分类Dev

NodeJS:如果不关闭oracle连接会发生什么

来自分类Dev

如果我超出Java中变量的限制,会发生什么?

来自分类Dev

如果不将字体嵌入Flash,会发生什么情况?

Related 相关文章

  1. 1

    如果rm在提示中途停止,会发生什么情况?

  2. 2

    如果ThreadPool线程死亡,会发生什么?

  3. 3

    如果ThreadPool线程死亡,会发生什么?

  4. 4

    如果未设置枚举,会发生什么?

  5. 5

    如果我安装 Wayland 会发生什么?

  6. 6

    如果Ubuntu停止桌面,基本操作系统会发生什么?

  7. 7

    如果会话停止,Spark 上下文会发生什么?

  8. 8

    如果我有几个重叠的QTimer,该怎么办

  9. 9

    如果我有几个重叠的QTimer会怎样?

  10. 10

    什么会导致失败触发,如果失败会发生什么

  11. 11

    如果线程在关键部分内死掉会发生什么?

  12. 12

    如果我多次调用C的read()会发生什么?

  13. 13

    如果将kSecAttrIsPermanent设置为NO,会发生什么?

  14. 14

    CommonJS是同步的,但是如果调用异步函数会发生什么

  15. 15

    如果Grails BuildConfig范围未指定组织,会发生什么?

  16. 16

    如果您不解决或拒绝诺言,会发生什么?

  17. 17

    如果APNS设备令牌过期,会发生什么?

  18. 18

    如果Python线程在获取锁后死亡,会发生什么?

  19. 19

    如果用express js重载相同的路由会发生什么?

  20. 20

    如果我呼叫等待通知的条件变量会发生什么

  21. 21

    如果我不清除stringstream,会发生什么?

  22. 22

    如果释放它的指针,线程会发生什么

  23. 23

    如果我使用非最终的ConcurrentHashMap会发生什么

  24. 24

    如果ASP页意外退出,对Connection事务会发生什么?

  25. 25

    如果不返回回调会发生什么

  26. 26

    如果HashMap的加载因子大于1,会发生什么?

  27. 27

    NodeJS:如果不关闭oracle连接会发生什么

  28. 28

    如果我超出Java中变量的限制,会发生什么?

  29. 29

    如果不将字体嵌入Flash,会发生什么情况?

热门标签

归档