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

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

感谢支持,持续更新

欢迎关注

相关推荐
库玛西4 分钟前
深入浅出Linux select网络模型:从底层位图原理到C++面向对象高级封装
linux·服务器·网络·c++·ubuntu
2402_8828938613 分钟前
深入浅出 unordered_map 与 unordered_set——从使用到底层差异
c++·哈希·unordered_map·unordered_set
geovindu28 分钟前
CSharp: Command Pattern
开发语言·后端·c#·.net·.netcore·命令模式·行为模式
今天要早睡_37 分钟前
C++ 核心语法速过:命名空间、引用、函数重载与 nullptr 深度解析
android·java·c++
心易行者1 小时前
Python自动化测试7步落地法:用python在线运行省掉90%环境配置时间
java·开发语言·人工智能·python·log4j·ai编程
汉克老师1 小时前
CSP-J 初赛(以满分为目标):第二十七课 《图的遍历——BFS广度优先搜索——像“水波纹”一样,一层一层地搜索》
c++·csp-j·小学生·学c++编程
闻缺陷则喜何志丹1 小时前
【动态规划】P3609 [USACO17JAN] Hoof, Paper, Scissor G
c++·算法·动态规划·洛谷
tedcloud1231 小时前
OpenLogi 怎么搭建?用 Rust 打造一个轻量的 Logitech 外设管理工具
linux·运维·服务器·开发语言·后端·rust·开源
汉克老师2 小时前
CSP-J 初赛(以满分为目标):第二十六课 《图的遍历——DFS深度优先搜索——从“树的先序遍历”走进真正的图世界》
c++·csp-j·小学生·学c++编程
Tanjia_kiki2 小时前
谷歌浏览器中F12编辑并重发请求
开发语言·前端·javascript