当前位置: 代码迷 >> QT开发 >> 请问怎么能让QplainEdit既能响应键盘事件,又能接受输入
  详细解决方案

请问怎么能让QplainEdit既能响应键盘事件,又能接受输入

热度:58   发布时间:2016-04-25 04:38:00.0
请教如何能让QplainEdit既能响应键盘事件,又能接受输入
小弟刚接触qt还未入门,遇到问题,请大牛赐教。
void QPlainTextEdit::keyPressEvent(QKeyEvent *e)
{
  if(e->key()==Qt::Key_Delete)
  {
  QMessageBox::warning(0,tr("警告"),tr("不能重复选择相同联系人!"),QMessageBox::Ok);

  }
  else  
  QWidget::keyPressEvent(e);
}


我想实现的是如果QPlainEdit中键入的是其他字符,就显示字符;如果是delete键就自己另外处理,代码随便写了个messagebox测试用的。

------解决方案--------------------
可以研究一下这个函数eventFilter ( QObject * watched, QEvent * event ) ,用之前先要对先关控件进行安装,installEventFilter().
------解决方案--------------------
C/C++ code
void QPlainTextEdit::keyPressEvent(QKeyEvent *e){  if(e->key()==Qt::Key_Delete)  {  QMessageBox::warning(0,tr("警告"),tr("不能重复选择相同联系人!"),QMessageBox::Ok);  }  else     QWidget::keyPressEvent(e);//改为下面的代码  QPlaintTextEdit::keyPressEvent(e);}
  相关解决方案