QLineEdit作为整个窗体的一个子控件,用户提出的需求是将QWidget的键盘和QLineEdit进行绑定。
最初想法是重载keyPressEvent,在这个函数中做焦点重置。而QLineEdit本身用了正则表达式,后来感觉这样做费时费力,效果不好。
其实很简单,我们直接将QWidget主窗体键盘事件传给QLineEdit就可以了。代码:(m_inputPasswd就是QLineEdit)
keyPressEvent(QKeyEvent * event) { m_inputPasswd->event(event); //QDialog::keyPressEvent(event); }