QT窗口透明设置

Qt编程—去掉标题栏和设置窗口透明用法 学习Qt编程,有时候我们很想做出好看又比较炫的画面,这时就常用到qt上的一些技巧。 这里我以一个小例子来展示qt的这些技巧,此qt编程写的,如图:(去掉标题栏和设置窗口透明后)   代码实现部分: .h文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include namespa 阅读详情

QT窗口透明设置

这问题折腾我一整天了,在网上搜几种方法,一一测试,然后崩溃中....

一.设置窗口的背景色
我比较懒,没用网上介绍的方法一一敲代码,而直接在qt creator 中设置palette中的window项为透明。结果得到不是理所当然的透明效果,而是一个黑色的矩形。 

二.在窗口的构造函数中使用如下代码
setAttribute(Qt::WA_TranslucentBackground, true);
结果窗口背景还是黑色的,后来才知道,前面还要加上下面这句才有效果
setWindowFlags(Qt::FramelessWindowHint);  //把窗口设置成没框架的
我是用win7环境测试的,QMainWindow--->QGLWidget--->QWidget 在我的程序中,三个窗口的父子关系就是这样的。我想让QWidget模拟三维游戏中底部的那个用户交互界面。
我把上面两行代码贴在QMainWindow中,主窗口是透明了,QWidget这个窗口也透明了还如愿地不影响其中的按钮,可中间的QGLWidget却不见了,连鼠标事件也感应不到了;
我把上面两行代码贴在QGLWidget的构造函数中,没效果;

贴在QWidget中也是一样不透明;

甚至去掉了QMainWindow,结果那QWidget的背景还是雷打不动的黑色;

那个崩溃啊,直使我想放弃QT

三.在窗口的构造函数中使用如下代码 
setWindowOpacity(0.5);
一提这函数我气就不打一处来,窗口是半透明了,可我那窗口中的按钮也被半透明了,可恨的继承,更可恨的是一嵌入到QGLWidget窗口中,就又变成讨厌的黑色矩形了。要它何用!

四.就是重载void paintEvent( QPaintEvent* ); 了
在这个函数内我用QPainter 又是刷透明通道,又是画透明图片,结果那QWidget的背景该怎么黑就怎么黑,就是不透明。

连styleSheet都用上了,还是没能解决问题。
到论坛上提问没人答我,百度谷歌都搜了一天了,都是些重复的内容。我实在没辙了,
谁来告诉我到底哪个环节出错了?
【QT6】QT6实现UI窗口无边框,设置背景颜色,设置透明度 UI窗口无边框,背景颜色这是,透明度设置 阅读详情

相关推荐

Qt之窗口背景设置为透明

this->setAttribute(Qt::WA_TranslucentBackground);

君莫笑的博客 2258

QT 窗体透明

【引用】Qt中设置窗口的透明   Qt |字号 订阅 本文引用自/yl守望/love《Qt中设置窗口的透明》一、将Qt窗口嵌入到桌面中。 声明一个最简单的类: class Dialog : public QDialog {  Q_OBJECT public:  Dialog(QWidget *parent = 0);  ~Dialog(

专注的力量 1万+

【Qt】设置窗口透明度

1、使用setWindowOpacity设置透明度 setWindowOpacity(0.5); 设置完成会使窗体、标题栏、子控件都透明 2、使用样式表qss设置窗体透明 dlg->setStyleSheet("QDialog{background-color: rgba(255, 0, 0, 0.5);}"); wgt-&amp

郭老二 1万+

qt 子窗体透明 不受父窗体背景影响 播放视频

使用qt版本 qt5.11.0 windows10 平台 设置子窗体透明的方式很多。但是很多方式在有些情况下效果却很糟。 如果父窗体上播放视频操作,或其他有修改窗体swichbuffer的行为时,透明效果需要做点小操作。 1、首先如果希望透明子窗体要时时刻刻在父窗体上显示,需要继承父窗体指针,再调用raise()。 2、让父窗体不影响子窗体,需要修改窗体flag值。Qt窗体类型有三种,一种是...

qiushangren的专栏 8878

【ubuntu】如何搭建AFTR+B4环境

为何要使用ipv6 目前ipv4地址已经不够用了,而IPv6采用128位地址长度,几乎可以不受限制地提供地址。而且ipv6具有更高的安全性。 主流的ipv6方案 1.双栈方案 :所有设备同时支持IPv4/IPv6协议栈,核心理念在于其传送网同时支持IPv4和IPv6 2.DS-Lite方案 :IPv4‐in‐IPv6 隧道和 NAT 这两个基本技术,同时支持IPV4与IPV6,对于ipv4用户,可以通过ipv6隧道与ipv4业务平台实现通信;针对ipv6用户,可直接通过ipv6网络通信。 3.6RD方案 :

weixin_43863426的博客 2723

python后端的支付宝小程序用户认证问题(alipay-sdk-python、pycrypto无法安装)

python后端的支付宝小程序用户认证问题(alipay-sdk-python、pycrypto无法安装) 写在前面 事先说明,本人不是大佬,我只是在不断探索的途中找到了解决这个问题的方法,之前在网上搜索的时候没有看到相关文章,所以就来简单讲一下。 正文 借着蚂蚁金服小程序大赛开通了支付宝小程序个人开发者,尝试将一个微信小程序的项目移植到支付宝上,支付宝对于用户唯一id的获取比微信要复杂很多,微信...

weixin_43102379的博客 3643

QT设置透明窗体

/窗口透明,隐藏标题,实现透明效果。//窗口透明,部件不透明。//设置窗口的不透明度0.5,设置整个窗口与部件的透明度。//创建标签控件的阴影效果。//标签部件使用阴影效果。//设置阴影模糊半径。

Txwtech 454

从零配置到批量处理:FaceFusion 3.1完整使用指南(含hififace_256模型测试)

本文详细介绍了FaceFusion 3.1的完整使用指南,包括环境配置、模型选择(特别是hififace_256模型的深度测试)以及批量处理技巧。通过AI驱动的脸部替换技术,帮助用户高效实现高质量的面部处理,适用于影视制作、广告设计等多种场景。

weixin_29056865的博客 655

QWidget设置背景颜色为透明,结果背景为黑色的问题

qwidget设置背景颜色为透明,结果背景为黑色的问题 本人搜了几种方法,试了之后,都没能实现该效果,最终机缘巧合之下,试验成功了,记录一下! 只需要在需要透明的窗口构造函数中,写如下代码,并将之前测试的透明代码去点即可: setWindowFlags(Qt::FramelessWindowHint | Qt::Tool); setAttribute(Qt::WA_TranslucentBackground); ...

lsc19971931的博客 5843

基于未来出行解决方案的场景实例:城市空中交通(UAM)的飞行路径规划与避障

本文介绍了使用Simulink进行城市空中交通(UAM)飞行路径规划与避障的仿真方法。主要内容包括:1)UAM系统架构与核心挑战;2)详细建模步骤,从城市3D环境构建到飞行器动力学模拟;3)全局路径规划(A*/RRT*)和局部避障(DWA/APF)算法实现;4)多机协同与冲突解决;5)关键场景仿真与性能评估;6)高级功能拓展方向。通过Simulink的数字孪生系统,可有效验证UAM在复杂城市环境中的可行性,为未来立体交通发展提供技术支撑。

xiaoheshang_123的博客 257

高通开发系列 - Linux/Ubuntu移植到QCS8xxx平台

QCS8250和QRB5165平台属于体系架构相同的芯片,前置是带cellular而后者不带,即前置有移动网络而后者没有。 BSP部分的软件内容有差异需要修改外,同一套代码编译出来的执行程序是可以运行的,不会存在体系架构、指令集不匹配的问题。 QCS8250平台没有Linux/Ubuntu的软件SDK,只有Android的SDK,但是它对应j兼容的QRB5165平台有LE(Linux)和Ubun(Ubuntu)SDK。所以我们需要做的就是用QRB5165 Linux/Ubuntu移植到QCS8250平台上来

fulinux的博客 3186

Qt窗口透明设置与窗口的父子关系

QPainter painter(ui->widget_pen); painter.fillRect(ui->widget_pen->rect(), QColor(0, 255, 0, 50));

yejin_tianming的博客 2006

水文仿真软件:HEC-RAS (Hydrologic Engineering Center‘s River Analysis System)_(7).一维非稳态水力模型

自定义脚本是通过编程语言(如 Python)编写的一系列自动化任务,可以帮助用户更高效地处理数据和运行模型。编写脚本:使用 Python 或其他编程语言编写自定义脚本。集成脚本:将脚本集成到 HEC-RAS 中,实现自动化数据处理和模型运行。

kkchenjj的博客 933

Qt设置窗口透明,置顶

设置窗口透明度,子控件也会透明 设置窗口完全透明,子控件存在,并且不透明(标题栏去除) QT 去掉标题栏和去掉标题栏后移动窗口 置顶:setWindowFlags(Qt::WindowStaysOnTopHint); 局部透明,未编辑,自行百度 一、设置窗口透明度,子控件也会透明 setWindowOpacity(1);设置窗口透明度,1不透明,0透明。子控件也会透明 使用 paintE...

I have sacrificed everything for Sankarea 2418

如何使用Python爬取并保存网页上的所有附件

爬虫(Crawler)是一种自动化程序,它通过模拟人工访问网页并下载网页上的数据或文件,常用于数据采集和分析。爬虫通常以“爬取”的形式自动浏览和提取网页中的各种信息。本文详细介绍了如何使用Python爬取并保存网页中的附件文件,涵盖了网页解析、文件下载、多线程与异步优化等内容。希望通过本文的讲解,能够帮助你理解并掌握附件爬取的技巧。在实际应用中,爬虫开发不仅需要解决技术问题,还要遵守网络道德和法律法规,避免不当使用爬虫造成负面影响。

2201_76125261的博客 968

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Qt窗口设置半透明

1.从MainWindows继承的窗口 直接用setWindowOpacity(0.9); 参数为透明度,范围0-1。 2.程序中弹出的窗口,继承自QDialog,要使用无边框窗口设置了FramelessWindowHint属性,但是发现FramelessWindowHint属性和透明度函数有冲突,无法设置成功。 解决方法:setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog); 多添加一个Dialog属性,在设置setWindowOpacity透明度即可

u014734032的博客 1629

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Qt设置父窗口,透明度不起作用

setWindowOpacity不起作用 Qt设置父窗口,透明度不起作用

风起时~微凉的博客 2880

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

qt 设置窗口半透明

<br />1. 在构造函数中:<br />setWindowFlags(Qt::FramelessWindowHint);<br />setAttribute(Qt::WA_TranslucentBackground);<br /> <br />2. 在paintEvent()中:<br />QPixmap pixmapTop("xxx.xxx");    //xxx是背景图片(可以是圆角的)<br />pixmapTop.setMask(pixmapTop.createHeuristicMask());

我的一亩二分地 4246

【QT小记】设置窗口背景透明

// 窗口无边框 setWindowFlags(this->windowFlags() | Qt::FramelessWindowHint); // 设置窗口背景透明 (需要设置窗口为无边框的才能实现背景透明,否则背景为黑色) setAttribute(Qt::WA_TranslucentBackground);

林柒Sevenlin随记 2900

Qt设置无边框窗口,窗口透明度

两行代码搞定,直接上代码 this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint|Qt::Tool|Qt::X11BypassWindowManagerHint); this->setWindowOpacity(0.7); //透明度

青城山小和尚 6151

QT设置无边框窗口和透明窗口

前言 有时候我们想做出比较好看的界面,这时候就要去掉qt原来的窗口标题栏。 1. 去除边框和使窗口透明 //去边框 同时保留窗口原有的属性 setWindowFlags(Qt::FramelessWindowHint | windowFlags() ); //把窗口背景设为透明 setAttribute(Qt::WA_TranslucentBackground); 2. 窗口置顶功能 setWindowFlags(Qt::WindowStaysOnTopHint); ...

gmq_syy的博客 6189

QT 设置窗口透明度

/** 改变窗口透明度 */ QMenu* menu = new QMenu(this); QAction* action = new QAction("transparence 10%", menu); action->setData(1); menu->addAction(action); action = new QAction("transparence 20%", men

w823626691的专栏 678

Qt设置主窗口背景透明引发的问题解决

设置背景透明的方法

happi_er的博客 1819

Qt设置窗口背景透明

QPalette pal = palette();     pal.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x00));     setPalette(pal); Qt::WA_TranslucentBackground

xingzheouc的专栏 1438
上一篇: Qt中拖拽窗口以改变位置的实现
下一篇: Qt中添加背景图片的方法(转)
lixingworkCCC
博客等级 码龄15年 24粉丝 5原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值