用Qt制作带圆角和半透明效果的窗体

QT 专栏收录该内容
¥59.90 ¥99.00
131篇文章

用Qt制作带圆角和半透明效果的窗体

在桌面应用程序开发中,界面设计是至关重要的一环。Qt是一个强大且易于使用的跨平台C++图形用户界面应用程序框架,提供了许多实用工具、控件和API来帮助开发人员快速构建高质量的用户界面。

本文将介绍如何使用Qt中的QWidget控件制作带圆角和半透明效果的窗体。我们将对QWidget控件的paintEvent()函数进行重载,并使用QPainter来绘制我们想要的窗体形状和效果。

下面是实现这个功能的源代码:

#include <QtWidgets>

class MyWidget : public QWidget
{
public:
    MyWidget(QWidget *parent = nullptr) : QWidget(parent)
    {
        setAttribute(Qt::WA_TranslucentBackground); // 设置背景透明
    }

protected:
    void paintEvent(QPaintEvent *)
    {
        QPainter painter(this);
        
        // 设置窗体背景色和透明度
        QColor color(0, 0, 0, 200);
        painter.fillRect(rect(), color);
        
        // 设置圆角矩形区域
        QRegion region(rect().adjusted(10, 10, -10, -10), QRegion::Ellipse);
    
Qt 设置窗体透明 在音频开发中,窗体多半为半透明、圆角窗体,如下为Qt 5.5 VS2013实现半透明方法总结。 阅读详情

相关推荐

Qt 圆角窗口的实现、想让哪个角圆就让哪个角圆

今天一个同事为一个窗口视觉的圆角愁了一天。。 视觉要求窗口只有上半部分是圆角,下半部分是直角,还需要半透明。那单靠我们的QPainter类的drawRoundedRect方法就不能实现了,因为这个画出来的圆角是4个。 想必肯定有刚接触Qt的同学们都多少有点纠结,那今天咱就写一篇关于窗口中4个角怎么任意实现各个圆角的实现方案吧。 完整工程代码路径如下(vs2015+Qt5.9.6): 完整工程路径 ...

未来之歌 4437

Qt实现自定义无边框圆角窗口

通过设置窗口的样式和处理鼠标事件,我们可以实现窗口的拖动和调整大小功能。这样的窗口可以为应用程序增添独特的外观,并提供更好的用户体验。在使用Qt进行桌面应用程序开发时,我们经常需要实现自定义界面效果,其中之一就是创建一个无边框的圆角窗口。通过上述代码,我们可以创建一个无边框的圆角窗口,并实现了窗口的拖动和调整大小功能。实现无边框窗口的关键是通过自定义窗口的样式和处理鼠标事件来实现拖动和调整窗口大小的功能。函数中,我们检测鼠标左键是否被按下,并根据鼠标的移动来更新窗口的位置。函数,用于绘制窗口的圆角边框。

zhouKouUU的博客 330

QT实现无边窗口圆角

在主函数中,我们创建一个QApplication对象,并实例化RoundedWindow类的对象,最后调用show()函数显示窗口。首先,我们需要创建一个自定义的窗口类,继承自QWidget,并重写其paintEvent()函数。在使用Qt进行窗口应用程序开发时,我们可能需要自定义窗口的外观,其中一种需求是实现无边窗口圆角效果。最后,我们使用drawRoundedRect()函数绘制一个圆角矩形,该矩形的大小与窗口的大小相同,圆角半径为10个像素。运行上述代码,你将看到一个无边窗口圆角的窗口显示在屏幕上。

PixelProX的博客 358

Qt之QWidget 制作圆角与半透明窗体

简述 要使窗体变为圆角需要设置窗体为无边框属性 要使窗体可以修改背景的透明度需要设置窗体为背景透明属性 需要对窗体重新绘制 样例 代码 #include "MWidget.h" #include <QLabel> #include <QPainter> #include <QHBoxLayout> MWidget::MWidget(QWidget *parent) : QWidget(...

Ilson_的博客 1571

Qt绘制具有圆角和半透明效果的窗口(C++)

在Qt中,我们可以使用QPainter类和QWidget类来实现绘制具有圆角和半透明效果的窗口。下面是一个示例代码,展示了如何创建这样的窗口。通过运行上述代码,您将得到一个具有圆角和半透明效果的窗口。您可以根据需要调整窗口的大小、颜色和圆角半径,以满足您的需求。在这个示例中,我们将背景颜色设置为黑色,并指定透明度为128,以实现半透明效果。的自定义窗口类,它继承自QWidget。在构造函数中,我们设置了窗口的标志为。,这样可以去掉窗口的边框,使其看起来更像一个自定义窗口。在这个示例中,我们创建了一个名为。

zhouKouUU的博客 317

05、基于ALV表报实现复选框、全选、取消全选等功能

基于Function ALV实现复选框、全选及取消全选等功能

wo520yl1314的博客 2372

OAK-D-Pro深度解析:从硬件融合到全天候SLAM实战

本文深度解析OAK-D-Pro硬件架构及其在SLAM领域的实战应用。作为SLAM的"六边形战士",OAK-D-Pro融合主动双目摄像头、结构光投射器、6轴IMU等传感器,实现全天候稳定工作。通过实测数据展示其在弱纹理环境、动态光照等复杂场景下的卓越表现,并提供SLAM实战技巧与开发指南,帮助开发者快速部署高效SLAM解决方案。

weixin_27244795的博客 183

T100批处理作业开发

g_bgjob = ‘Y’ 后台执行g_bgjob = ‘N’ 前台执行。

weixin_43400895的博客 585

强化学习:Distributed PPO (DPPO) 学习笔记

DPPO = Distributed + Proximal Policy Optimization Distributed:多个智能体并行训练 Proximal:限制策略更新幅度,确保稳定性 Policy Optimization:基于策略梯度的优化方法 核心思想:多个智能体并行探索环境,共享经验,通过裁剪策略更新确保训练稳定

只是个人学习笔记 1331

全志T133-s3(Tina Linux)下RTL8723DS WiFi驱动移植与调试实战

本文详细介绍了在全志T133-s3平台(Tina Linux)上移植RTL8723DS WiFi驱动的完整流程,包括硬件连接、驱动源码获取、内核配置、系统适配、设备树配置以及常见问题排查。通过实战案例,帮助开发者快速解决SDIO接口通信、固件加载、电源管理等关键问题,实现稳定的WiFi功能。

weixin_30505225的博客 507

WSL2迁移后用户名不见了?一招教你快速恢复Ubuntu22.04默认用户

本文针对WSL2迁移后Ubuntu 22.04默认用户名丢失的常见问题,提供了详细的诊断与修复方案。通过分析迁移底层逻辑,指导用户使用`ubuntu2204.exe config --default-user`命令或配置`/etc/wsl.conf`文件快速恢复用户身份,并涵盖权限修复、冲突解决及自动化迁移脚本等进阶内容,确保子系统迁移后环境完整可用。

web39explorer的博客 558

保姆级教程:用Intouch SMC连接S7-200 Smart PLC,Modbus TCP和S7协议一次搞定

本文详细介绍了如何使用Intouch SMC连接S7-200 Smart PLC,涵盖Modbus TCP和S7协议的双协议通信配置。通过环境准备、参数设置、常见问题排查及实战技巧,帮助工程师快速实现工业自动化系统中的稳定通信,提升设备监控效率。

weixin_30499315的博客 433

记录思科cisco交换机升级iso步骤

Cisco Nexus 93180交换机版本升级

a635161812的博客 4377

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: QT关闭事件实践:熟悉QCloseEvent类的使用
下一篇: Qt高分辨率适配——4K屏幕的自适应
普通网友
博客等级 码龄3年 119粉丝 288原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值