【Qt】 QWidget的cursor属性

 QWidget的cursor属性

cursor属性可以设置当鼠标指向不同控件,不同窗口会产生不同的效果。

API说明

cursor()

获取到当前 widget 的 cursor 属性, 返回 QCursor 对象.

当⿏标悬停在该 widget 上时, 就会显⽰出对应的形状.

setCursor(const QCursor& cursor)

设置该 widget 光标的形状. 仅在⿏标停留在该 widget 上时⽣效.

QGuiApplication::setOverrideCursor(co

nst QCursor& cursor)

设置全局光标的形状. 对整个程序中的所有 widget 都会⽣效. 覆盖上⾯的 setCursor 设置的内容.

注意:

前俩个函数是widget级别的,即在同一个界面中,不同的控件可以设置成不同的光标

最后一个函数设置全局光标(程序内的全局,而不是系统级别的全局) 

例子:在 Qt Designer 中设置按钮的光标

 1.在Qt Creator属性区可以进行修改:

 

2.使用代码的方式

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

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    
    QCursor cursor(Qt::WaitCursor);
    ui->pushButton->setCursor(cursor);
}

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

使用ctrl+鼠标左键点击WaitCUrsor,会显示内置的光标。

Qt内置的光标

设置自定义图标

Qt允许通过自定义的图片来设置光标。

先准备一个图片,把图片导入到项目中(qrc管理)

在代码中访问到这个图片,基于这个图片构造出光标对象并设置。

通过QPixmap这个对象表示一个图片

这个默认情况下,鼠标点击时,相当于图片的左上角(0,0)在进行点击。

可以在构造函数添加俩个参数,这俩个参数表示热点,即所在的位置。

以图片左上角(0,0)为原点,找到(10,10)这个位子作为鼠标真正点击的位置。

可以通过这个函数对图片进行缩放,以达到更好的效果。

【注意】注意缩放不是修改图片对象本身,而是返回一个新的图片对象副本。

矢量图标网址 

【安利一个网址】阿里巴巴矢量图标库(免费下载的)

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值