您的位置:首页 > 房产 > 建筑 > 【Qt】 QWidget的cursor属性

【Qt】 QWidget的cursor属性

2024/12/23 6:40:54 来源:https://blog.csdn.net/dab112/article/details/141147418  浏览:    关键词:【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)这个位子作为鼠标真正点击的位置。

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

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

矢量图标网址 

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com