【Qt 学习笔记】QWidget的toolTip属性 | focusPolicy属性

本文详细介绍了Qt中的QWidget的toolTip属性和focusPolicy属性,包括其功能、API使用方法以及代码示例,帮助开发者理解和应用这两个重要特性。
摘要由CSDN通过智能技术生成

  • 博客主页:Duck Bro 博客主页
  • 系列专栏:Qt 专栏
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

QWidget的toolTip属性 | focusPolicy属性

文章编号:Qt 学习笔记 / 19


一、toolTip属性

1. 简介

在Qt中,toolTip属性用于设置控件的工具提示文本。工具提示文本是当鼠标悬停在控件上时显示的文本,它可以提供额外的信息或指导。可以通过设置控件的toolTip属性来指定工具提示文本。

在Qt中,可以使用以下方法来设置控件的toolTip属性:

  1. 使用setToolTip()方法:可以通过调用控件对象的setToolTip()方法来设置工具提示文本。
  2. 使用setProperty()方法:可以使用控件对象的setProperty()方法来设置toolTip属性。

2. API

API说明
setToolTip设置 toolTip.⿏标悬停在该 widget 上时会有提⽰说明.
setToolTipDuring设置 toolTip 提⽰的时间. 单位 ms.时间到后 toolTip ⾃动消失.

3. 代码示例

示例1:通过代码设置按钮的 toolTip
  • 在界⾯上拖放两个按钮.
    在这里插入图片描述

  • 编写 widget.cpp
    在这里插入图片描述

  • 运行结果(鼠标放上会提示信息)
    在这里插入图片描述

文件代码:

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //设置toolTip显示提示信息
    ui->pushButton_yes->setToolTip("yes按钮");
    //设置toolTip的提示时间,单位为ms
    ui->pushButton_yes->setToolTipDuration(2000);

    //设置toolTip显示提示信息
    ui->pushButton_no->setToolTip("no按钮");
    //设置toolTip的提示时间,单位为ms
    ui->pushButton_no->setToolTipDuration(2000);
}

Widget::~Widget()
{
    delete ui;
}

二、focusPolicy属性

1. 简介

Qt中的focusPolicy属性是用来设置窗口部件的焦点策略的。焦点策略决定了部件在用户交互过程中如何获取和失去焦点。设置控件获取到焦点的策略. ⽐如某个控件能否⽤⿏标选中或者能否通过 tab 键选中.

焦点策略的取值可以是下列之一:

  • Qt::NoFocus:部件永远不会获取焦点。
  • Qt::TabFocus:通过Tab键可以将焦点移动到部件上。
  • Qt::ClickFocus:通过鼠标单击可以将焦点移动到部件上。
  • Qt::StrongFocus:支持通过Tab键和鼠标单击来移动焦点。
  • Qt::WheelFocus:通过滚轮可以将焦点移动到部件上。

使用以下方法来设置部件的focusPolicy属性:

  • setFocusPolicy(QFlagsQt::FocusPolicy policy):设置焦点策略。
  • focusPolicy():获取焦点策略。

例如,以下代码将将一个按钮的焦点策略设置为Qt::ClickFocus:

QPushButton *button = new QPushButton("Click Me");
button->setFocusPolicy(Qt::ClickFocus);

2. API

API说明
focusPolicy()获取该 widget 的 focusPolicy, 返回 Qt::FocusPolicy
setFocusPolicy(Qt::FocusPolicy policy)设置 widget 的 focusPolicy.

3. 代码示例

示例1:使用图形化理解不同的 focusPolicy
  • 在界⾯上创建四个单⾏输⼊框 (Line Edit)
    在这里插入图片描述

  • 修改四个输⼊框的 focusPolicy 属性为 Qt::StrongFocus(一般都是默认值)
    此时运⾏程序, 可以看到, 使⽤⿏标单击/tab, 就可以移动光标所在输⼊框.
    在这里插入图片描述

  • 修改第⼆个输⼊框的 focusPolicy 为 Qt::NoFocus , 则第⼆个输⼊框不会被 tab / ⿏标左键
    选中.
    在这里插入图片描述

  • 修改第三个输⼊框 focusPolicy 为 Qt::TabFocus , 则只能通过 tab 选中, ⽆法通过⿏标选
    中.
    在这里插入图片描述

  • 修改第四个输⼊框 focusPolicy 为 Qt::ClickFocus , 则只能通过鼠标选中, ⽆法通过tab键
    选中.
    在这里插入图片描述


在这里插入图片描述

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Duck Bro

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值