Qt::FocusPolicy的使用
来源:互联网 发布:数据库编程技术 编辑:程序博客网 时间:2024/05/16 12:10
想在qt中实现的效果:
一个QWidget窗口中间,有多个子窗口,选中每个窗口,每个窗口边框变色,代表选中该子窗口。
如下效果,点击某个子窗口:
enum Qt::FocusPolicy
This enum type defines the various policies a widget can have with respect to acquiring keyboard focus.
ConstantValue Description
Qt::TabFocus0x1 接受Tab键焦点
Qt::ClickFocus 0x2接受鼠标单击做焦点
Qt::StrongFocusTabFocus | ClickFocus | 0x8 接受Tab键和鼠标单击做焦点
Qt::WheelFocusStrongFocus | 0x4 滑轮作为焦点选中事件
Qt::NoFocus0 不接受焦点
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)
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数据库的使用
- 快速排序
- Java多线程中的10个面试要点
- 安卓实现代码混淆
- 什么是NP问题,什么是NP hard问题,什么是NP完全问题。
- JAVA常用设计模式(3)观察者模式
- Qt::FocusPolicy的使用
- UIAlertController
- JavaScript之对数组中元素进行增删改
- 逻辑回归及梯度下降
- 开-闭原则(OCP - Open-Closed Principle )
- DTO(数据传输对象)
- Android SystemProperties设置/取得系统属性的用法总结
- Ajax-Ajax基础实例
- H5获取地理位置