Qt焦点事件
2017-09-21 01:35
281 查看
首先来说说为什么要设置焦点吧。
设置焦点可以让应用更便捷。比如当你打开百度主页或其他带有编辑框的页面时,不需要先用鼠标点击编辑框就可以直接输入文字等信息到其中。这就是由于搜索框设置了焦点。
一个空间要先设置它焦点事件的模式,即窗口如何接受焦点事件(通过鼠标单击、Tab键、不接受焦点事件等)
用
设置获得焦点的方式
当前有焦点事件的窗口只能有一个,当一个窗口获取焦点事件或失去焦点事件时,可能需要相应的操作,或者如
何判断一个才窗口有没有焦点事件。Qt中亦有相应的函数。
这两个就是窗口获取或失去焦点事件的函数,需要我们重写(好多窗口都是从QWidget继承这两个函数的)
bool hasFocus () const
这个函数就是判断当前窗口有没有焦点事件的,返回布尔值。
这两个函数就是设置或清除焦点事件的。
分享:
http://www.cnblogs.com/Dennis-mi/articles/5231465.html
设置焦点可以让应用更便捷。比如当你打开百度主页或其他带有编辑框的页面时,不需要先用鼠标点击编辑框就可以直接输入文字等信息到其中。这就是由于搜索框设置了焦点。
一个空间要先设置它焦点事件的模式,即窗口如何接受焦点事件(通过鼠标单击、Tab键、不接受焦点事件等)
用
void | setFocusPolicy ( Qt::FocusPolicy policy ) |
Constant | Value | Description |
---|---|---|
Qt::TabFocus | 0x1 | 通过Tab键获得焦点 |
Qt::ClickFocus | 0x2 | 通过被单击获得焦点 |
Qt::StrongFocus | TabFocus | ClickFocus | 0x8 | 可通过上面两种方式获得焦点 |
Qt::WheelFocus | StrongFocus | 0x4 | 类似Qt::StrongFocus只不过再加上鼠标滑轮 |
Qt::NoFocus | 0 | 不能通过上两种方式获得焦点(默认值),setFocus仍可使其获得焦点. |
何判断一个才窗口有没有焦点事件。Qt中亦有相应的函数。
void QWidget::focusInEvent ( QFocusEvent * event ) [virtual
protected]
void QWidget::focusOutEvent ( QFocusEvent * event ) [virtual
protected]
这两个就是窗口获取或失去焦点事件的函数,需要我们重写(好多窗口都是从QWidget继承这两个函数的)bool hasFocus () const
这个函数就是判断当前窗口有没有焦点事件的,返回布尔值。
void QWidget::setFocus ( Qt::FocusReason reason )
void QWidget::clearFocus ()
这两个函数就是设置或清除焦点事件的。Constant | Value | Description |
---|---|---|
Qt::TabFocus | 0x1 | the widget accepts focus by tabbing. |
Qt::ClickFocus | 0x2 | the widget accepts focus by clicking. |
Qt::StrongFocus | TabFocus | ClickFocus | 0x8 | the widget accepts focus by both tabbing and clicking. On Mac OS X this will also be indicate that the widget accepts tab focus when in 'Text/List focus mode'. |
Qt::WheelFocus | StrongFocus | 0x4 | like Qt::StrongFocus plus the widget accepts focus by using the mouse wheel. |
Qt::NoFocus | 0 | the widget does not accept focus. |
http://www.cnblogs.com/Dennis-mi/articles/5231465.html
相关文章推荐
- QT 获取焦点失去焦点事件
- Qt获得焦点和失去焦点处理事件 (Focus事件)
- Qt中的焦点事件
- Qt中的键盘事件,以及焦点的设置(比较详细)
- Qt焦点事件
- QT 焦点事件(4种方式的解释,还有委托焦点)
- QT事件过滤器、事件重载和焦点事件
- Qt中的焦点事件
- Qt获得焦点和失去焦点处理事件 (Focus事件)
- Qt中的键盘事件以及焦点设置
- Qt获得焦点和失去焦点处理事件 (Focus事件)
- Qt获得焦点和失去焦点处理事件 (Focus事件)
- Qt获得焦点和失去焦点处理事件 (Focus事件)
- Qt获得焦点和失去焦点处理事件 (Focus事件)
- QT的键盘事件及焦点设置
- Qt中使用事件过滤器来处理键盘焦点
- 关键词:键盘触发事件、QList用法、清除/获得焦点、CSS、Qt初学教程
- Qt中的焦点事件
- qt焦点事件响应捕捉处理,事件过滤器
- Qt之Tab键实现(自由切换焦点)—— 采用事件过滤器处理