读书人

请问怎么能让QplainEdit既能响应键盘事

发布时间: 2012-08-08 14:32:45 作者: rapoo

请教如何能让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);} 

读书人网 >QT开发

热点推荐