• 2446阅读
  • 3回复

[提问]mainwindow 中安装 eventFilter ,不能响应 方向键 [复制链接]

上一主题 下一主题
离线cyberpunker
 

只看楼主 倒序阅读 楼主  发表于: 2018-01-09


   界面上四个方向键都能移动输入焦点,但是就是不进入 eventFilter  中。也不能进入KeyPressEvent中,

   别的按键都能进入 eventFilter 中。

  

   这是怎么回事?

  
离线cyberpunker

只看该作者 1楼 发表于: 2018-01-11

需要在窗口的构造函数中,把控件 installeventfilter

比如:
widget->installEventFilter(this);
离线cyberpunker

只看该作者 2楼 发表于: 2018-01-11

但是有个问题,

如果需要在keypressevent函数中,重写方向键的响应,

则必须在窗口的构造函数中,把控件设置为setFocusPolicy( Qt::NoFocus ) ;

但这时按下方向键,不能设置设置控件的焦点了,怎么解决?
离线cyberpunker

只看该作者 3楼 发表于: 2018-01-12

解决方式为:直接在eventFilter  中写方向键的响应 , 不需要重载keypressevent , 也不需要setFocusPolicy
快速回复
限100 字节
 
上一个 下一个