• 4024阅读
  • 0回复

[提问]新手一枚 请教一下程序中Enter按键事件和QLineEdit的edittingFinished 消息小问题 [复制链接]

上一主题 下一主题
离线lvhuat
 
只看楼主 倒序阅读 楼主  发表于: 2013-01-24
界面一个QWidget 里面有几个QLineEdit


先看几行代码
/*槽函数*/
void SeriesSettings::init()
{
    connect(ui->editSetting1,SIGNAL(editingFinished()),this,SLOT(textFinished()));
}
/*按键事件处理*/
void SeriesSettings::keyPressEvent(QKeyEvent *key)
{
    switch(key->key())
    {
    case Qt::Key_Enter: { OnButtonEnter(); setFlag == true ;break;}
    }
}
void SeriesSettings::OnButtonEnter()
{
    /*比较前后设置是否一致*/
.................
    qDebug()<<setFlag<<"-------------------1-----------------";
}
void SeriesSettings::textFinished()
{
....................
    qDebug()<<setFlag<<"-------------------2-----------------";
}
1.setFlag == true 下 其中一个QLineEdit被要求输入之后,按Enter Disabled掉,并保存QLineEdit中的数据 setFlag == false 。
2.setFlag == false下 在不是QLineEdit不是激活的状态,按Enter键,提交所有数据。
问题在于,在编辑好QLineEdit之后,按Enter 程序立先处理了两次1,再处理了一次2。也就是说,每个QLineEdit编辑好了之后都会提交一次。
快速回复
限100 字节
 
上一个 下一个