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);
}
效果图

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

感谢支持,持续更新

欢迎关注

相关推荐
buhuizhiyuci3 分钟前
【Linux 篇】数字世界的水流蓄水池 —— IO 缓冲区机制深度实战解析
linux·运维·服务器·c++
AI视觉网奇15 分钟前
动作识别 视频理解大模型
开发语言·python·音视频
啦啦啦啦啦zzzz35 分钟前
moduo网络库 Acceptor TcpConnection
服务器·网络·c++·reactor·网络库
键盘会跳舞37 分钟前
C++:右值引用与移动语义源码级深度拆解——现代C++性能优化的语言基石
c++·右值引用·移动语义
SomeB1oody42 分钟前
【RustyML入门】3.8. 正则化与归一化层
开发语言·后端·机器学习·rust·教程
__zRainy__1 小时前
Node系列 · Node基础:全局变量与全局对象
开发语言·前端·javascript
码匠许师傅1 小时前
【C++ 面试真题】聊聊 C++ 的虚函数和多态
java·c++·面试
鬼手点金1 小时前
Scrapy + Playwright 完整示例(JS 动态渲染网页)
开发语言·javascript·爬虫·python·scrapy·html·json
Mr. zhihao1 小时前
深度解析:为什么Java序列化需要搭配ByteArrayOutputStream?IO装饰器模式的精妙设计
java·开发语言·装饰器模式
格林威2 小时前
多相机并行采图最佳实践:Task.WhenAll + 异常处理 + 资源释放
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·机器视觉