利用qss设置QTextEdit背景颜色(背景透明)不生效的解决方法

「QT」QSS样式表 之 QTextEdit文本编辑框样式表 本文详细讲解了如何在Qt5中使用QSS来定制QTextEdit控件的外观。通过QSS,开发者可以轻松地改变QTextEdit的边框、圆角、内边距、背景色、文本色等属性,以及根据控件的不同状态(如获得焦点、鼠标悬停、禁用等)应用不同的样式。这些功能使得开发者能够创建出符合应用程序风格和用户体验需求的富文本编辑器界面。何曾参静谧的博客。 阅读详情
AI摘要

本文记录了在Qt环境下,QTextEdit组件使用QSS设置背景颜色不生效的问题。当QTextEdit位于透明窗口中时,背景颜色设置会失效。解决方法包括在QSS中添加边框,无论是设置边框宽度为0还是非0,都能使背景颜色显示。此外,还介绍了如何设置QTextEdit背景透明。这些方法对于理解Qt中QTextEdit的样式设置和渲染机制具有参考价值。

最近在遇到设置QTextEdit或者QTextEdit的派生类,利用qss设置background-color不生效,记录出现这种问题的情形,以及对应的解决办法。

问题的出现:
新建一个基于QWidget的工程,勾选ui文件,在界面上拖放一个QTextEdit,(QTextEdit嵌套在一个布局里,如下图的ui文件所示),其余保持默认设置就行。
在这里插入图片描述
在widget.cpp的构造函数中添加代码:

setAttribute(Qt::WA_TranslucentBackground);
this->setStyleSheet("QTextEdit{color: red; background-color: green;}");

运行效果:
在这里插入图片描述
textEdit的文字颜色变成了红色,背景颜色却是白色的,我们的qss中设置的QTextEdit的颜色是绿色的,没有生效。

解决方法一:

this->setStyleSheet("QTextEdit{color: red; background-color: green; border:1px solid red;}");

运行效果:
在这里插入图片描述

或者

this->setStyleSheet("QTextEdit{color: red; background-color: green; border:0px;}");

在这里插入图片描述
通过qss中的border设置为无边框,或者有边框都会让QTextEdit的背景颜色生效

如果想让QTextEdit的背景颜色透明,也是可以实现的:

this->setStyleSheet("QTextEdit{color: red; background-color: transparent; border:1px solid red;}");

在这里插入图片描述

以上测试的情况均是在窗口设置为透明的时候,才会出现QTextEdit的背景颜色不生效的情况。

参考:

qt5.7下QTextEdit 无法设置背景色透明的问题

QT QTextEdit无边框设置

Qt Ui界面风格的蜕变——样式表qss使用 目录一、什么是样式表1、CSS2、QSS二、如何使用QSS——核心1、简介2、ui界面设置样式表3、程序调用三、选择器(1)、群体选择器(2)、特定选择器(3)、鼠标监听四、声明简介(1)、color(2)、font-family(3)、font-size(4)、background / background-color(5)、background / background-image(6)、border-image(7)、border(8)、text-align(9)、margin五、收尾 一、什么是样式 阅读详情

相关推荐

常用的控件样式风格设置(qss)——QtWidgets

前言 QtWidgets写界面,经常需要用qss来写样式风格。qss不难懂,也不难学,而且也不用特意去学,只需要复制粘贴(* ̄︶ ̄)。 所以我在此整理一下,为了下次能够更快的设置好风格,我真是个热爱工作的好同志。 常用控件样式风格设置 各类按钮(QPushButton为例) QPushButton#searchButton{ color:#ffffff; background: #0275FF; border-radius: 3px; } QPushButton#searchB.

xiaopei_yan的博客 7174

【QT】根据控件的自定义属性进行qss样式区别设置,包括使控件不能编辑

可以使用QTextEdit的setProperty方法来设置自定义属性,然后在QSS样式表中使用QTextEdit[propertyName=“propertyValue”]来设置当该属性为特定值时QTextEdit的样式。}");这样,当customProperty属性的值为"value"时,QTextEdit的边框和背景色都会被去掉。注意,在使用QSS设置样式时,属性值需要用双引号括起来。

种一棵树最好的时间是十年前,其次是现在 3755

Qt QTextEdit行高和背景色设置

QTextEdit设置行高 方法: 获得QTextEdit的QTextCursor(光标),给光标设置一个指定行高的段落格式,再讲该光标设置给QTextEdit。 //获得eidt光标 QTextCursor cursor = edit->textCursor(); //为光标指定一个行高为20的段落格式 QTextBlockFormat block_format; block_format.setLineHeight(20, QTextBlockFormat::FixedHeight); curso

ji3009的博客 5906

如何使用qss让去掉qtextedit的边框和背景色

你可以使用以下的QSS代码来达到你的目的: QTextEdit {border: none; background-color: transparent; } 将这段代码应用到你的QTextEdit控件上即可。你可以使用QTextEdit的setStyleSheet函数来应用QSS样式。 例如: textEdit->setStyleSheet("QTextEdit {border:...

weixin_35751412的博客 502

Reality Capture控制点修复/合并模型

通过增加控制点/修改对齐设置参数来修复模型被分为两个部分的解决方法

草履虫建模的博客 5243

STM32F407驱动OV2640摄像头:从SCCB协议到I2C模拟的保姆级避坑指南

本文详细介绍了STM32F407驱动OV2640摄像头的完整流程,重点解析SCCB协议与I2C的关键差异,并提供GPIO模拟实现方案。通过实战案例和调试技巧,帮助开发者避开常见陷阱,实现稳定的图像采集功能。

weixin_28700411的博客 345

Qt使QTextEdit背景透明

方法一、textEdit->setStyleSheet(“background-color: rgb(255, 255, 255, 60);”); 方法二、添加qss样式表 QTextEdit#tx_msg{ background-color: rgb(255, 255, 255, 60);} }

only_a_Heroic_car的博客 2686

在 STM32CubeIDE 中针对 STM32F407 移植 ThreadX

在 STM32CubeIDE 中针对 STM32F407 移植 ThreadX,不依赖盗版破解的Keil MDK、IAR等软件。

wangyuewu08的博客 3374

QSS的使用

一、程序应用qss文件 QString qssPath = QString("%1/stylesheet/style.qss").arg(a.applicationDirPath()); QFile file(qssPath); if(file.open(QFile::ReadOnly)) { a.setStyleSheet(file.readAll()); } file.close(); 二、单个应用qss

pzs0221的专栏 6926

SAP ABAP ALV表格实战:5分钟搞定单元格下拉框配置(附完整代码)

本文详细介绍了在SAP ABAP开发中如何快速配置ALV表格的单元格下拉框功能,通过5分钟实战教程帮助开发者掌握关键步骤。文章包含完整的ABAP代码示例,涵盖下拉值定义、字段目录配置及ALV控件绑定等核心操作,特别适合需要实现财务系统费用类型选择或采购系统物料分类等场景的开发者参考。

weixin_28331555的博客 110

服务器卡死排查实战:从现象分类到根因定位的完整手册

服务器卡死是运维中最令人头疼的故障之一,从游戏圈吐槽的“土豆服务器”到生产环境中的Linux系统无响应、rsync复制挂起,本质都是系统或进程失去正常响应能力。其原理通常涉及CPU、内存、磁盘IO或网络资源耗尽,以及内核和驱动异常。掌握系统化的排查方法,能够帮助工程师快速定位根因、缩短故障时间,避免盲目重启。本文从资源、层级、场景等多维度分类,结合top、dmesg、strace等工具,梳理一套从现象确认、指标收集、日志分析到进程定位的实战排查流程,并覆盖常见高频场景与预防治理建议。无论你是运维新手还是老手

weixin_33851177的博客 375

QT QSS 使用

QProgressBar{ color : solid gray; border: 2px solid gray; border-radius: 5px; background: transparent; padding: 0px; text-align : center ; } QProgressBar::chunk{ background

playStudy的专栏 4万+

Qwen-Image LoRA训练实战:从数据准备到异常修复的全流程解析

本文详细解析了Qwen-Image LoRA训练的全流程,从数据准备到参数优化再到异常修复。通过实战案例展示了如何利用LoRA技术微调Qwen-Image模型,提升中文场景下的图像生成质量,特别针对手脚生成异常等问题提供了有效解决方案。文章还分享了中文提示词优化技巧和高级训练方法,帮助开发者高效训练出高质量的LoRA模型。

lemon的博客 967

[QT_016]Qt学习之QPlainTextEdit 、QTextEdit 、QTextBrowser

QPlainTextEdit 、QTextEdit 、QTextBrowser

kongcheng253的博客 9930

掌握RDMA核心:从同步构建到异步事件的连接艺术

本文深入解析RDMA编程中的双模式设计,揭示同步配置与异步事件机制的协作关系。第一部分阐述同步函数rdma_bind_addr和rdma_listen的本地化角色,强调它们仅完成本地端点配置。第二部分剖析异步事件模型,重点分析连接请求和建立事件的处理流程。通过完整生命周期序列图展示两种模式的交互过程,并提供错误处理、资源管理和性能调优的实用建议。文章指出,理解同步本地配置与异步网络响应这一责任划分,是掌握RDMA编程的关键所在。

数字人生 283

【DRAM存储器五十一】LPDDR5介绍--DFE与Pre-Emphasis

简述LPDDR5的DFE和预加重应用设置

highman110的博客 706

QTextEdit设置文本样式

QTextEdit可以通过qss设置边框属性,但是由于QTextEdit本身显示的是一个HTML,所以不能像其他的控件直接使用qss对文本设置样式。 看一个我们再QtDesigner中对一个QTextEdit进行文本编辑的例子: 上图的HTML中有好几个标签都有样式,譬如<body>,<p>,<span>等,到底应该修改哪个标签的样式呢? 1.修改文本边距和行高 <p style="margin-top:12px; margin-bott...

4839

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

QTextEdit的几种高亮设置(选中文本、关键字)

文本选中区域的颜色可以用 QPalette 或者设置样式表,选中后默认文本是渲染为白色,可以设置 palette 的 brush 为 Qt::NoBrush 保持原本的文本颜色。 //背景和选区颜色 QPalette pt = palette(); pt.setBrush(QPalette::Text, Qt::white); pt.setBrush(QPalette::Base, Qt::black); pt.setBrush(QPalette::Highl..

龚建波 8775

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

[QT_053]qss样式使用总结

qss样式使用说明

kongcheng253的博客 2176

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Qt中漂亮的几款QSS收藏

/* === Shared === */QStackedWidget, QLabel, QPushButton, QRadioButton, QCheckBox, QGroupBox, QStatusBar, QToolButton, QComboBox, QDialog { background-color: #222222; color: #BBBBBB; fo

Dev-L的博客 1万+

Qt学习总结之QTextEdit

QTextEdit是一个高级的WYSIWYG(What You See Is What You Get所见即所得)编辑/查看器,支持使用HTML4标签子集的富文本格式。 QTextEdit它经过优化,可以处理大型文档并快速响应用户的输入,可以加载纯文本和富文本文件,用来显示图像、列表和表格。 QTextEdit的父类是QAbstractScrollArea,可以通过滚动条调整显示界面。

qq_27726087的博客 4357

使用Qss设置窗体样式

本文主要是对官方文档的翻译。 一、Qss作用与规则 Qss(Qtstyle sheet)是一种样式文本规范,可以使用QApplication::setStyleSheet()来设置整个应用的样式或者使用QWidget::setStyleSheet()设置某个QWidget(包括其子类)窗体的样式。Qss具有级联属性,即假设在不同的级别设置了多个样式表,那么Qt将从所有设置的样式表中派生出有效的样式表。样式表可以让您执行所有类型的定制,这些定制仅使用QPalette是很难或不可能执行的。例如,你想要黄色.

yq327115059的博客 2507

Qt的qss常用样式总结

Qt常用的qss样式,方便快速设置界面风格

wangshuping18的博客 7139

qt -- 常用的qss样式总结

设置背景颜色 在构造函数里添加: setAutoFillBackground(true);//必须有这条语句 setPalette(QPalette(QColor(250,250,200)));

ccr的博客 8092

C++ QTabWidget qss 背景透明样式

在C++的QTabWidget中使用QSS(Qt样式表)设置透明度时,可能会遇到样式不生效的问题。如果你的应用程序使用了不同的窗口系统(比如在Windows上使用了Direct2D),可能需要额外的配置来确保透明度能够正常工作。例如,确保使用了正确的属性名称,并且使用了适合的选择器。确保在设置QSS之前已经创建了QTabWidget的所有子控件,因为有些样式只适用于已存在的子控件。如果使用的是Qt的Palette系统,请确保正确设置了QPalette的透明度。如果,样式透明不生效,请继续往下看。

huangjiazhi_的博客 957
上一篇: 利用QPushButton和QButtonGroup实现导航按钮
下一篇: STL算法之lexicographical_compare的基本用法
hp_cpp
博客等级 码龄11年 310粉丝 218原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值