QT---之信槽函数被触发两次

QT按钮被触发两次的问题

2017年11月02日 20:28:17 不二侬 阅读数:950 标签: qt 更多

个人分类: QT

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/erchowyo/article/details/78428997

 

  • QT自带翻译机制
    • 规则强制指定
    • 修改槽函数形式

 

QT自带翻译机制

如果用官方的写法on_btn_pressed()可以不用写connect函数,可以直接触发槽函数。如果此时用connect再次连接的话,就会导致on_btn_pressed()被执行两次。解决办法为:

可能有问题的代码,会被执行两次 
connect(ui->btn,signal(pressed()),this,slot(on_btn_pressed()));

规则强制指定

要么改为:connect(ui->btn,signal(pressed()),this,slot(on_btn_pressed()),qt::uniqueconnection);

修改槽函数形式

要么改为:connect(ui->btn,signal(pressed()),this,slot(btn_pressed()));

通过修改名字避免QT翻译器翻译成两次执行.

你可能感兴趣的:(QT---错误积累)