Qt如何设置界面透明

2023-10-27

1、设置主窗体透明,但是窗体上的控件不透明:

setAttribute(Qt::WA_TranslucentBackground, true);
void paintEvent(QPaintEvent *event)
{
    QPainter painter(this);
    painter.fillRect(this->rect(), QColor(0, 0, 255, 80));  //QColor最后一个参数80代表背景的透明度
}

2、设置子控件透明:
可以在Qt Designer中,直接右键改变样式表,来设置其背景色:

background-color: rgba(0, 0, 0, 0);

也可以在程序中添加代码:

setAttribute(Qt::WA_TranslucentBackground, true);

3、窗口及其上面的控件都半透明:

setWindowOpacity(0.7)//取值范围为:0.0 - 1.0,默认值为1.0,全透明为0.0,不透明则为1.0。

4、主窗体采用背景图片(百度的)

setAttribute(Qt::WA_TranslucentBackground, true);
void QZXingWidget::paintEvent(QPaintEvent *event)
{
    QPixmap covert_pixmap(":/Images/background");
    QPixmap pixmap(covert_pixmap.width(), covert_pixmap.height());
    pixmap.fill(Qt::transparent); 
    QPainter painter(&pixmap);
    QPoint start_point(0, 0);
    QPoint end_point(0, pixmap.height());
    //QLinearGradient进行渐变色设置
    QLinearGradient linear_gradient(start_point, end_point);
    linear_gradient.setColorAt(0, QColor(255, 255, 255, 100));
    linear_gradient.setColorAt(0.5, QColor(255, 255, 255, 150));
    linear_gradient.setColorAt(1, QColor(255, 255, 255, 255));
    painter.fillRect(this->rect(), QBrush(linear_gradient));
    painter.setCompositionMode(QPainter::CompositionMode_SourceIn); 
    painter.drawPixmap(0, 0, covert_pixmap);
    painter.end();

    QPainter painter2(this);
    painter2.drawPixmap(0, 0, pixmap);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt如何设置界面透明 的相关文章

  • 如何使用 qt 库中的调试符号为 qt 5.5 创建开发 shell

    我有一个开发外壳buildInputs条目包括qt55 qtbase 这很好用 今天 我在 qt 库中发生了段错误 我想要带有调试符号的 qt 库 我看了一下nixpkgs pkgs development libraries qt 5 5
  • 当给定 100k 项时,QListView 需要很长时间才能更新

    我在读取文件时遇到问题 具体是我想制作一本小字典 在我需要阅读的文件中有这样的内容 a Ph P6 a snsr CA a b c fb Dj a b c book i BS A except B gate oOPa y a font kQ
  • Qt 和 MOC 的困境与简单的制作

    我想这更像是一个 GNU Make 问题 而不是 Qt 和 moc 但这里是 我有一个包含多个目录Q OBJECTS 我有一些简单的代码 它收集所有这些 例如 MOCS shell grep l Q OBJECT HEADERS Assum
  • PyQt:如何通过匿名代理使用网页

    这真让我抓狂 我想在 QWebPage 中显示一个 url 但我想通过匿名代理来实现 Code setting up the proxy proxy QNetworkProxy proxy setHostName 189 75 98 199
  • 如何从键盘为 QTableWidget 创建信号?

    我有一张桌子 可以通过左 右 上 下按钮在里面移动 现在 当我停留在某个单元格并按空格键时 我需要创建一个信号 该信号还应该带来该单元格的坐标 我尝试使用 QTableWidget 的标准信号 但它不起作用 我该如何解决这个问题 创建一个单
  • QtWebEngine Quicknano 在嵌入式 Linux 中没有声音

    我已将 QtWebEngine 编译到我的 i MX6 嵌入式设备中 当我尝试使用 Quicknanobrowser 播放 YouTube 视频时 视频会播放 但没有声音 事实上 当我尝试播放音频文件时没有声音hpr dogphilosop
  • 如何在Qt中更快地读取数据?

    Qt读取数据库比C 慢吗 我想我错过了一些东西 为了比较阅读速度 我在 Qt 中编写了以下内容 QElapsedTimer t t start int count 0 QString cs Driver SQL Server Server
  • 使用 QTestLib 时抑制 qDebug

    我正在向 Qt 中的项目添加单元测试 并希望使用 QTestLib 我已经设置了测试并且它们运行良好 问题是在项目中我们重写了 qDebug 以输出到我们自己的日志文件 这在运行应用程序时效果很好 问题是当我测试类时 它有时会开始记录 然后
  • 如何阻止 Qt Creator 将可执行文件放置在“调试”子目录中?

    我正在 Qt Creator 中构建一个项目 虽然我不关心中间 obj 文件去哪里 但重要的是最终的可执行文件应放入 并运行 许多依赖项 DLL 等所在的特定目录中 被发现 因此 在 Qt Creator 中 我选择 Shadow Buil
  • QListWidget 拖放项目从 Symbian 列表中消失

    我在实现带有可通过拖放重新排序的自定义项的 QListWidget 时遇到问题 问题是当我在某个项目上快速双击 非常短的拖放 时 该项目有时会从 QListWidget 中消失 这是我的小部件的构造函数 ListPopisiDragDrop
  • PyQt QFileDialog exec_ 很慢

    我正在使用自定义QFileDialog因为我想选择多个目录 但是exec 功能非常慢 我不明白为什么 我正在使用最新版本的 PyQt 代码片段 from PyQt4 import QtGui QtCore QtNetwork uic cla
  • 隐藏 QLineEdit 闪烁光标

    我正在开发 QT v5 2 我需要隐藏闪烁的光标 插入符号 QLineEdit永久 但与此同时 我想要QLineEdit可编辑 因此 readOnly 和 或设置 editable false 对我来说不是一个选项 我已经改变了背景颜色QL
  • 如何在 PySide/PyQt 中制作一个位于屏幕中央的小部件?

    这段代码有效 但我想知道是否有更简单的方法 def center self qr self frameGeometry cp gui QDesktopWidget availableGeometry center qr moveCenter
  • { Qt5.0.2/QML/QtQuick2.0/C++ } 运行没有错误的示例项目? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我的设置是Qt5 0 2 MinGW 32位 我在寻找 Qt5 0 2 QML QtQuick2 0 C 代码项目示例 不是Qt Qu
  • 关于在 Qt 中使用未记录的类

    使用无证文件是否安全QObjectUserData类和QObject setUserData in Qt 相反 你可以看看使用QObject setProperty http doc qt io qt 5 qobject html setP
  • 在 4K 屏幕上使用 Matplotlib 和 TKAgg 或 Qt5Agg 后端

    我在 Ubuntu 16 04 上使用 Matplotlib 2 0 和 Python 3 6 来创建数据图 电脑显示器的分辨率为 4k 分辨率为 3840x2160 绘图数字看起来非常小 字体也很小 我已经尝试过TKAgg and Qt5
  • 如何通过 Qt 创建网络服务 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Qt 5.5 QOpenGLWidget 链接错误未链接任何 openGL 调用

    我尝试使用 Qt 5 5 1 构建一个简单的 OpenGL 应用程序 一切都很好 直到我尝试使用 glClearColor 等 openGL 本机函数调用 该小部件实际上编译并产生黑屏 但在我尝试使用任何 openGL 本机函数后 它甚至不
  • 如何将 QByteArray 转换为十六进制字符串?

    我有打击QByteArray QByteArray ba ba 0 0x01 ba 1 0x10 ba 2 0x00 ba 3 0x07 我真的不知道如何将此 QByteArray 转换为结果字符串 其中包含 01100007 我将使用 Q
  • 具有多个父项的 Qt 树模型

    我想构建一棵树 其中一个元素可以引用另一个元素 我想要构建的树是 像这样的东西 A B C D E F P this is a pointer to C D first child of C E second child of C I fo

随机推荐

  • 二叉链表实现二叉树

    1 题目描述 编写一个二叉链表类 试写出求二叉树结点数目和二叉树叶子节点的数目 只要写二叉链表的前序输入 先序中序后序输出 求节点数目和求叶子节点数目的方法 2 设计思路 二叉树一般多采用二叉链表 binary linked list 存储
  • 【101】西门子S7-200说明介绍

    一 西门子S7 200概述 SIMATIC S7 200 Micro 自成一体 结构紧凑 性能良好 功能强大 多种通讯方案 并且具有操作简便的硬件和软件 当然还有更多特点 SIMATIC S7 200 Micro PLC具有统一的模块化设计
  • 程序员提高代码能力的方法看这一篇就够了

    程序员的代码能力其实不应该仅仅局限于代码本身 而是围绕写出好代码所需的综合能力 你可以从以下几个能力维度谈谈如何提高代码能力 一 计算机基础知识 作为程序员 需要具备以下计算机基础知识 1 数据结构和算法 这是编写高效代码的基础 程序员需要
  • NMOS和PMOS使用总结

    MOS管应用电压的极性和我们普通的晶体三极管相同 N沟道的类似NPN晶体三极管 漏极D接正极 源极S接负极 栅极G正电压时导电沟道建立 N沟道MOS管开始工作 同样P道的类似PNP晶体三极管 漏极D接负极 源极S接正极 栅极G负电压时 导电
  • SVC分类经典Iris数据集

    今天做了一个用SVC分类经典Iris数据集的训练 在数据预处理上出了点奇怪的岔子 对原始数据中的string转到float这步一直不成功 转换函数没错 用的是load txt里面的converters 一直报错 但是被我机智 愚蠢 地手动处
  • Tomcat安装部署及多实例部署介绍

    Tomcat 一 Tomcat相关简介 二 Tomcat安装 三 多实例 一 Tomcat相关简介 1 Tomcat简介 Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个servelet容器 按照Sun micros
  • word如何首页和目录不编辑页码

    按照下面的方法 从第二页或者是需要的地方设置页码即可 页码从任意页开始 1 将光标定位于需要开始编页码的页首位置 2 选择 插入 分隔符 打开 分隔符 对话框 在 分隔符类型 下单击选中 下一页 单选钮 3 选择 视图 页眉和页脚 并将光标
  • 作为程序员,该如何提升自己的编程水平?

    1500字3个角度说明如何提升编程水平 一 如果你是初学者 这几个方法给你 1 1 刻意练习 在编写代码之前 首先我们可以先了解这门编程语言的基本用法和常用的概念 编写基本的程序 一般来说敲代码是步骤是 明确需求 设计程序 编写代码 完善程
  • #35. 二叉树遍历(flist)(4月3日)

    include
  • Java基础篇:如何使用 break 退出循环

    在 Java 中 break 语句有 3 种作用 第一 你已经看到 在 switch 语句中 它被用来终止 一个语句序列 第二 它能被用来退出一个循环 第三 它能作为一种 先进 的goto 语句来使用 下面对最后 2 种用法进行解释 使用
  • 【Java】利用 PDF 多页模板生成 PDF 并导出

    一 所需要的依赖
  • 数据中心托管有什么好处?

    1 内置可扩展性 除了能够节省建设一个新的数据中心的资金 当涉及到可扩展的计算资源时 得益于数据中心托管服务的固有灵活性 还可以让用户节省更多的成本费用 托管服务提供商能够根据用户需求扩展或减少他们所需要的容量 这样 既有效利用了资源 还能
  • 使用eclipse创建一个图书管理系统(2)---------逻辑的实现

    就像使用C语言写代码一样 比如要用 C语言写一个小游戏的代码 我们的逻辑实现是在哪里实现的啊 是不是在一个test c源文件里面啊 没错 就是的 在之前的文章里 我说过我定义的Main函数就像C语言里的test c文件一样 所以 为了不打自
  • web安全之文件上传漏洞攻击与防范方法

    一 文件上传漏洞与WebShell的关系 文件上传漏洞是指网络攻击者上传了一个可执行的文件到服务器并执行 这里上传的文件可以是木马 病毒 恶意脚本或者WebShell等 这种攻击方式是最为直接和有效的 部分文件上传漏洞的利用技术门槛非常的低
  • HTTP 协议

    1 HTTP 介绍 2 HTTP 请求 和 响应 3 HTTP 请求方法 4 HTTP 状态码 5 HTTP 头信息 6 URL 和 URI 7 静态资源 和 动态资源 1 HTTP 介绍 HTTP协议 是 超文本传输协议 的缩写 是用于从
  • “该应用程序的数字签名无法验证......”

    该应用程序的数字签名无法验证 是否运行该应用程序 登录服务器后运行某模块时 总出现这个提示 且对话框点不动 解决 开始 控制面板 双击JAVA 打开JAVA面板 高级 安全 混合代码 沙箱代码与可信代码 安全验证 禁用验证 不推荐 图片见附
  • 【k8s故障处理篇】解决k8s集群中kubectl命令补全问题

    k8s故障处理篇 解决k8s集群中kubectl命令补全问题 一 查看k8s的版本 二 安装相关软件包 三 配置相关环境变量 四 测试tab键补齐命令 一 查看k8s的版本 查看当前k8s版本 当前环境的k8s版本为v1 16 2 本方法也
  • 解决网页不能粘贴的问题

    最近要完成老师布置的英语作业 在网站上写作文并提交 但是老师设置了 不能复制粘贴 本来在word文档里写完打好草稿了 现在却只能重新打一遍 于是我尝试解决这个问题 看看能不能粘贴上去 通过查阅资料 了解了网页的基本知识 于是探索出了如下步骤
  • 在React项目中实现调用摄像头拍照的功能

    文章目录 前言 一 如何调用摄像头 二 操作步骤 1 准备dom元素 2 添加打开和关闭摄像头的事件 3 获取图片 base64格式 三 demo 总结 前言 在日常开发中可能会遇到需要调用摄像头拍照的功能 下面为大家讲解一下在react项
  • Qt如何设置界面透明

    1 设置主窗体透明 但是窗体上的控件不透明 setAttribute Qt WA TranslucentBackground true void paintEvent QPaintEvent event QPainter painter t