当前位置: 代码迷 >> QT开发 >> QDialg中有个textEdit,如何让textEdit响应keyPressEvent
  详细解决方案

QDialg中有个textEdit,如何让textEdit响应keyPressEvent

热度:54   发布时间:2016-04-25 03:19:26.0
QDialg中有个textEdit,怎么让textEdit响应keyPressEvent
如题,在对话框中我增加了一个textEdit,textedit接收输入,我希望在按下enter时清空textedit。
于是我在dialog中重载了keypressevent函数,在函数里判断是否按键是Qt::Key_Enter,但是,这个响应函数只能在焦点不是textedit时被触发。也就是说,在textedit中输入数据时,不会响应keypressevent()。
要实现textedit响应按键,应该怎么做呢?我使用的是creator,textedit是直接拖进去的,没有到那种全敲代码的地步。。。
------解决方案--------------------
textEdit 本来就可以处理 keyPressEvent 。它对 Key_Enter 有自己的处理逻辑,如果你真想处理,那么使用 installEventFilter .
在你的Dialog 中重载 bool eventFilter(QEvent *e) 函数,然后这样 edit->installEventFilter(dialog对象指针),然后在 eventFilter 函数中截获 Key_Enter 来处理即可。