1.实际开发碰到的场景:
对于Qt的控件,如QLineEdit,QSpinbox,QPushButton,QSlider等等,可以通过键盘的Tab按键获得焦点,可能在某些时候并不希望如此。
2.错误记录:
QWidget的setFocusPolicy方法为默认Qt::StrongFocus,即用户可以通过tab获得焦点,也可以通过鼠标点击获得焦点。于是,修改了其默认属性,setFocusPolicy为Qt::NoFocus。虽然问题是解决了,但是,却导致了该控件没法响应change事件。
3.解决方法:
setFocusPolicy为Qt::ClickFocus。