虽然对话没有集中,但是信号发生了火灾

虽然对话没有集中,但是信号发生了火灾

问题描述:

我有一个LineEdit元素的对话框。我想对话框关闭,如果按下ENTER键,所以我增加了一个插槽的returnPressed()信号:虽然对话没有集中,但是信号发生了火灾

ChPasswd::ChPasswd(QWidget *parent) : 
    QDialog(parent), 
    ui(new Ui::ChPasswd) 
{ 
    ui->setupUi(this); 
    connect(ui->NewPasswordInput, SIGNAL(returnPressed()), SLOT(checkPasswords())); 
} 

在某些时候,我打开一个消息框:

QMessageBox mb(...); 
mb.exec(); 

箱子打开,得到焦点。问题是,当我现在按ENTER时,ChPasswd火灾中的returnPressed信号和checkPasswords()被调用。为什么处理这个键盘事件?

+0

什么是消息框'父? – 2011-04-27 15:57:12

+0

我没有设置父母 – slosd 2011-04-27 16:05:44

+0

尝试设置父母! – Naszta 2011-04-27 16:33:14

好吧,我只是想通了。由于这是一个对话框,按下ENTER键会自动调用另一个插槽此槽还呼叫checkPasswords(),因此创建了第二个消息框,在第一个消息框关闭后立即出现。