QT常用控件2.0,windowOpacity窗口透明度,Cursor光标设置

@bit::Shadow
✧(≖ ◡ ≖✿

目录

透明度windowOpacity

*浮点数话题回顾

E(阶码)存储的特殊性

E的中间数

光标设置cursor()

代码方式

widget光标设置

全局光标设置setOverrideCursor()

个性光标自定义

效果图


透明度windowOpacity

typedef double qreal;

0.0完全透明1.0完全不透明。

|------------------------------------|----------|
| qreal windowOpacity() const | 获取窗口不透明度 |
| void setWindowOpacity(qreal level) | 设置窗口不透明度 |

cpp 复制代码
void Widget::on_pushButton_Add_clicked()
{
    qreal qr = windowOpacity();
    qr += 0.1;
    setWindowOpacity(qr);
}

void Widget::on_pushButton_Sub_clicked()
{
    qreal qr = windowOpacity();
    if(qr > 0.2)
        qr -= 0.1;
    setWindowOpacity(qr);
}

演示视频:

Window透明度

注意:透明度小于 0.001按钮全部失效。

*浮点数话题回顾

IEEE标准(754标准):

十进制5.5------二进制101.1

照应 V = (-1)^S x M x 2^E

S(符号位)=0

M(尾数)=0.011 // 忽略"1"默认转换时E的真实取值范围是 1 <= E < 2 。

E(阶码)=-1

存储结构(float):

E(阶码)存储的特殊性

由于E存在负值,为解决二进制编码的局限采用中间数作为值的修正。float下是127 double下是1023。

-128怎么存储?

E的中间数

|------|--------|-----------|
| E | 中间数处理后 | 存储 |
| 0 | 127 | |
| 127 | 254 | 1111 1110 |
| 128? | 255? | 无穷大 |
| -126 | 1 | 0111 1111 |
| -127 | 0 | 0000 0000 |

doubleSME为:1 11 52

光标设置cursor()

cursor()返回QCursor对象。

代码方式

widget光标设置

cpp 复制代码
void QWidget::setCursor(const QCursor &cursor);

全局光标设置setOverrideCursor()

cpp 复制代码
void QGuiApplication::setOverrideCursor(const QCursor &cursor);
cpp 复制代码
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //对象
    QCursor cursor(Qt::WaitCursor);
    //设置
    this->setCursor(cursor);
}

效果图:(作用范围是client区

个性光标自定义

🔗具体图片的导入方式见上篇文章🔗

cpp 复制代码
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    QPixmap pixmap(":/Avatar.png");
    //Q--Qt  pix map-像素图也是常用的自定义图片类型
    //缩放
    pixmap = pixmap.scaled(200,200);
    this->setCursor(pixmap);
}
效果图

鼠标就变成了所引用的图片,点击位置默认以左上角为标准(可设置)。

感谢支持,持续更新

欢迎关注

相关推荐
cfm_29141 小时前
JVM对象逃逸分析深度详解
java·开发语言·jvm
SilentSamsara1 小时前
LLM API 工程化:OpenAI/DeepSeek/国产模型统一调用层设计
开发语言·人工智能·python
Lazionr1 小时前
类和对象(上):走进面向对象编程
c++
weixin_523185321 小时前
SimpleDateFormat为什么线程不安全?源码级解析与解决方案
java·开发语言·安全
晚风叙码1 小时前
《C++面向对象进阶:static成员、友元、匿名对象与拷贝优化详解》
c++
Chase_______1 小时前
【Java杂项】Java 中的 null:空指针、自动拆箱与集合边界详解
java·开发语言
j7~1 小时前
【C++】STL--string类--拆析解剖string以及string类的底层详解(1)
开发语言·c++·ascii编码·string类·auto和范围for
草莓熊Lotso1 小时前
【Linux网络】深入理解 TCP 协议(二):序号机制、流量控制与连接管理
linux·运维·服务器·网络·c++·tcp/ip
techdashen1 小时前
Rust 项目管理动态 — 2026 年 2 月
开发语言·后端·rust