Qt如何实现无边框背景透明窗体
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章主要介绍"Qt如何实现无边框背景透明窗体",在日常操作中,相信很多人在Qt如何实现无边框背景透明窗体问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Qt如何实现无
千家信息网最后更新 2024年11月23日Qt如何实现无边框背景透明窗体
这篇文章主要介绍"Qt如何实现无边框背景透明窗体",在日常操作中,相信很多人在Qt如何实现无边框背景透明窗体问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Qt如何实现无边框背景透明窗体"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
一、前言
用Qt来做无边框北京透明窗体非常简单,根本不需要用什么系统层的API来实现透明什么的,Qt本身提供了很多种设置窗体透明的方法,除了可以设置窗体的属性为透明以外,还可以设置透明度函数,以及qss来设置透明度颜色等,方法很多,按照需要可以选用自己最合适的办法,如果想要整个窗体的背景图类似于无边框的异行,你只需要准备一张美工做好的png带透明的背景图即可,直接用qss的形式设置为窗体的背景图,你也可以用painter绘制上去,这样就可以产生各种奇形怪状的异行窗体,比如中间挖个洞的背景图,可以直接穿透桌面。
二、代码思路
Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this); this->setAttribute(Qt::WA_TranslucentBackground); this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowSystemMenuHint | Qt::WindowMinimizeButtonHint); ui->widget->installEventFilter(this); ui->widget->setStyleSheet(QString("background-image:url(:/image/%1.png);").arg(1));}Widget::~Widget(){ delete ui;}bool Widget::eventFilter(QObject *watched, QEvent *evt){ static int index = 1; static QPoint mousePoint; static bool mousePressed = false; QMouseEvent *event = static_cast(evt); if (event->type() == QEvent::MouseButtonPress) { if (event->button() == Qt::LeftButton) { mousePressed = true; mousePoint = event->globalPos() - this->pos(); if (index == 5) { index = 1; } else { index++; } ui->widget->setStyleSheet(QString("background-image:url(:/image/%1.png);").arg(index)); return true; } else { exit(0); } } else if (event->type() == QEvent::MouseButtonRelease) { mousePressed = false; return true; } else if (event->type() == QEvent::MouseMove) { if (mousePressed && (event->buttons() && Qt::LeftButton)) { this->move(event->globalPos() - mousePoint); return true; } } return QWidget::eventFilter(watched, event);}
三、效果图
到此,关于"Qt如何实现无边框背景透明窗体"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
窗体
背景
边框
学习
方法
更多
透明度
异行
帮助
合适
实用
奇形怪状
接下来
代码
函数
前言
办法
属性
形式
思路
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
河北阿里虚拟主机云服务器云空间
硬盘录像机怎样接入数据库
开封服务器维保
有软件开发的学校
网络安全环境怎么样
数据库的存储类型
英飞网络技术有限公司
数据库防火墙属于数据安全吗
怎么把电脑改装成私有云服务器
网络安全隐患主要有哪三种
关于网络安全的标语有哪些
网络安全的手抄报图片儿
北京数据库数据恢复价格
北京服务器回收预约
我的世界体验服务器视频
图书馆数据库怎么查
计算机软件开发师工作伙伴
苹果王者哪个服务器比较好
英文数据库名称用斜体吗
服务器的背板
石嘴山市网络安全应急预案
城轨网络技术论文
网络安全 企业责任
校园网络安全中队活动
ide基础软件开发
软件开发系统描述怎么写
网络安全管理条例21条
显存类服务器能耗
xls表格创建数据库表
虎丘区正规服务器代理厂家