Qt::FocusPolicy的使用
来源:互联网 发布:ubuntu如何识别u盘 编辑:程序博客网 时间:2024/06/05 07:41
想在qt中实现的效果:
一个QWidget窗口中间,有多个子窗口,选中每个窗口,每个窗口边框变色,代表选中该子窗口。
如下效果,点击某个子窗口:
enum Qt::FocusPolicy
This enum type defines the various policies a widget can have with respect to acquiring keyboard focus.
Constant Value Description
Qt::TabFocus 0x1 接受Tab键焦点
Qt::ClickFocus 0x2接受鼠标单击做焦点
Qt::StrongFocusTabFocus | ClickFocus | 0x8 接受Tab键和鼠标单击做焦点
Qt::WheelFocus StrongFocus | 0x4 滑轮作为焦点选中事件
Qt::NoFocus 0 不接受焦点
1、首先要设置窗口/控件的聚焦策略
通过designer设置
plotWidget_1->setFocusPolicy(Qt::StrongFocus);
2、在qss代码中设置:
- /*widget正常状态*/
- QWidget#widget_1{
- border:3px solid #CFCFCF;
- }
- /*widge处于焦点状态*/
- QWidget#widget_1:focus{
- border:5px solid #A5A6A1;
- }
3、如果要想选中窗口中子控件,窗口就被聚焦的话。
比如选中widget中的button等控件,然后widget就被聚焦。
可以将button等控件设置成tabFocus或者noFocus状态。
//当前widget下一个孩子焦点
bool focusNextChild()
//当前widget上一个孩子焦点
bool focusPreviousChild()
//焦点来的事件
virtual void focusInEvent(QFocusEvent * event)
//焦点离开的事件
virtual void focusOutEvent(QFocusEvent * event)
FROM: http://blog.163.com/qimo601@126/blog/static/158220932014563012137/
0 0
- Qt::FocusPolicy的使用
- Qt::FocusPolicy的使用
- Qt::FocusPolicy的使用
- Qt中解决 QLabel 点击事件通过qss+focuspolicy方法实现
- Qt的setMouseTracking使用
- QT QProgress的使用
- QT 线程的使用
- Qt-Mobility的使用
- Qt控件的使用
- Qt QTextcursor 的使用
- Qt Qtimer的使用
- QT 定时器的使用
- Qt 对话框的使用
- Qt: QTimer的使用
- qt控件的使用
- Qt 全局变量的使用
- QT 控件的使用
- QT数据库的使用
- Eclipse安装SVN教程
- Servlet_04_GenericServlet
- UVA 1213(p343)----Sum of Different Primes
- 关于Assets资源目录结构管理
- Qt中的焦点事件
- Qt::FocusPolicy的使用
- 安装事件过滤器(installEventFilter) ,过滤子控件事件,截获控件按键、鼠标事件
- docker入门
- LeetCode第258题,Add Digits
- 【hdu1181】变形课——bfs
- 武术擂台机器人
- iOS 网络解析
- Qt获取控件位置,坐标总结
- Dash 安装 IOS文档 Apple 开发者离线文档下载