我和我的一个人有一种奇怪的行为:
在我的用户界面中,我有一个 lineEdit Shift_x 和一个按钮 pb_OK 。当我执行以下操作时,我会有不同的行为:
编辑+返回 当我在Shift_x中编辑值并按回车时,执行插槽on_lne_Shift_x_returnPressed()。这就是我所期待的。但在此之后,还会执行插槽on_pb_OK_clicked(),最终使我的程序on_MoveCurve_ValueEdited执行两次。
编辑+确定:如果我在Shift_x中编辑值并单击“确定”,则只执行插槽on_pb_OK_clicked()(然后启动on_lne_Shift_x_returnPressed();其中实际的移位是触发)
当我只按回车键时,为什么程序会运行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*>))) ;