QT 焦点事件(4种方式的解释,还有委托焦点)

1、setFocusPolicy(...)设置获得焦点的方式

Qt::TabFocus
通过Tab键获得焦点
Qt::ClickFocus
通过被单击获得焦点
Qt::StrongFocus
可通过上面两种方式获得焦点
Qt::NoFocus
不能通过上两种方式获得焦点(默认值),setFocus仍可使其获得焦点
 

2、setFocus使Widge获得焦点

3、void QWidget::setFocusProxy ( QWidget * w )  设置焦点的委托

将该widget的focus proxy设置给w。如果w为0,该函数将此widget设为没有任何focus proxy。

有些widget,比如QComboBox,可以“拥有focus”,但是它们会创建一个子的widget来实际地处理焦点。比如QComboBox创建的叫做QLineEdit。

setFocusProxy()用来指定当该widget获得焦点时实际上由谁来处理这个焦点。如果某个widget拥有focus proxy,focusPolicy(),setFocusPolicy(),setFocus()和hasFocus()都是对focus proxy进行操作。

http://blog.sina.com.cn/s/blog_a401a1ea0101ec9v.html

原文地址:https://www.cnblogs.com/findumars/p/5982783.html