Qt C ++ SLOT on_returnPressed on_OK_ckicked奇怪的行为

时间:2017-03-23 09:31:23

标签: c++ qt behavior slots

我和我的一个人有一种奇怪的行为:

在我的用户界面中,我有一个 lineEdit Shift_x 和一个按钮 pb_OK 。当我执行以下操作时,我会有不同的行为:

  1. 编辑+返回 当我在Shift_x中编辑值并按回车时,执行插槽on_lne_Shift_x_returnPressed()。这就是我所期待的。但在此之后,还会执行插槽on_pb_OK_clicked(),最终使我的程序on_MoveCurve_ValueEdited执行两次。

  2. 编辑+确定:如果我在Shift_x中编辑值并单击“确定”,则只执行插槽on_pb_OK_clicked()(然后启动on_lne_Shift_x_returnPressed();其中实际的移位是触发)

  3. 当我只按回车键时,为什么程序会运行on_lne_Shift_x_returnPressed()和on_pb_OK_clicked()?

    感谢您的帮助!

    这是我的代码:

    2个插槽:

     void MoveSeries::on_lne_Shift_x_returnPressed()
     {
         const QString arg1= ui->lne_Shift_x->text();
         shift_tracker = shift_tracker-arg1.toDouble();
         emit x_returnPressed(arg1, ChartSeries);
     }
    
    
    void MoveSeries::on_pb_OK_clicked()
     {     on_lne_Shift_x_returnPressed();     }
    

    我的另一个班级的连接

    connect(  MOVE_SERIES  , SIGNAL( x_returnPressed( QString ,  QVector < Series*>   )),
                  this,SLOT( on_MoveCurve_ValueEdited ( QString,QVector < Series*>))) ;
    

0 个答案:

没有答案