当前位置: 代码迷 >> 综合 >> 关于qt 下 默认connect 中的SIGNAL(clicked())的问题
  详细解决方案

关于qt 下 默认connect 中的SIGNAL(clicked())的问题

热度:17   发布时间:2023-12-13 12:37:27.0

qt 下 默认connect 中的SIGNAL(clicked()),默认的SLOT   on_pushButton_clicked(),是要执行两次的,这是你只要将on_pushButton_clicked()改掉就行了。

例如:

connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(on_pushButton_clicked()));
QList<QString> collectlist;
collectlist<<"addr1"<< "addr2"<<"addr3"<<"addr4"<<"<<"addr6" ; 
void MainWindow::on_pushButton_clicked()
{

  int a=collectlist.size();//  
  QString b;
  b=QString::number(a);
  qDebug()<<"length ="+b;}
其中: qDebug()打印为,
"length =6" 
"length =6" 

也就是说on_pushButton_clicked()执行了两次,只是只要将on_pushButton_clicked()改个名字就行了,如pushButton_clicked()就可以。

注:

如果用QTcreator designer 信号槽已经自动连接好了,不用再

connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(on_pushButton_clicked()));

  相关解决方案