Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Qt】使用QPalette设置QPlainTextEdit颜色时,不生效

【Qt】使用QPalette设置QPlainTextEdit颜色时,不生效

作者头像
ccf19881030
发布于 2021-01-20 13:21:28
发布于 2021-01-20 13:21:28
2.7K00
代码可运行
举报
文章被收录于专栏:ccf19881030的博客ccf19881030的博客
运行总次数:0
代码可运行

【Qt】使用QPalette设置QPlainTextEdit颜色时,不生效
  • Qt5.9 C++开发指南 源代码
  • 使用QPalette设置QPlainTextEdit颜色时,不生效
  • 解决方法
  • 参考资料

Qt5.9 C++开发指南 源代码

最近在看《Qt5.9 C++开发指南》这本书,这本书可以从异步社区上下载源代码,不过需要注册有点麻烦:

这本书以Qt 5.9 LTS版本为开发平台,详细介绍了包括Qt应用程序的基本架构、信号与槽工作机制、图形显示的Graphics/View架构、数据编辑和显示的Model/View架构、对话框和多窗口的设计与调用方法等技术;也介绍了常用界面组件、文件读写、绘图、图表、数据可视化数据库、多线程、网络、多媒体等模块的使用。每个编程主题都精心设计了完整的实例程序,适用于Qt支持的任何平台。目前Qt已经到了6.0.1版本,这本书算是国内比较新的一本书了,很久之前看过中文版的《Qt GUI C++ 4》这本书,不过是基于Qt 4.0版本的。

这本书的源代码有人已经托管到Github上面了,可以从wlnetman/Qt59_cpp_dev_guide或者LewisGu/Qt5.9C-DevelopmentTutorialCode这两个仓库下载。

使用QPalette设置QPlainTextEdit颜色时,不生效

练习2.2 可视化UI设计的示例程序sample2_2时,第32页的编写一个设置QPlainTextEdit的文本编辑框txtEdit的字体颜色时,使用QPalette调色板设置QPlainTextEdit的文本编辑框的字体颜色没有生效,具体槽函数代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
void QWDialog::setTextFontColor()
{
    // 通过调用色板来选择字体颜色
    QPalette plet = ui->txtEdit->palette();
    if (ui->rBtnBlue->isChecked()) {
        plet.setColor(QPalette::Text, Qt::blue);
    } else if (ui->rBtnRed->isChecked()) {
        plet.setColor(QPalette::Text, Qt::red);
    } else if (ui->rBtnBlack->isChecked()) {
        plet.setColor(QPalette::Text, Qt::black);
    } else {
        plet.setColor(QPalette::Text, Qt::black);
    }

    ui->txtEdit->setPalette(plet);
}

解决方法

对照了一下书中的代码和我自己写的代码,发现问题出现在我设置了QPlainTextEdit的文本编辑框txtEdit的样式表的字体颜色:

解决方法就是把这个样式表的颜色设置给去掉。 当选择Red单选按钮时,发现下面的文本编辑中的Hello,world It is my demo.文本变成了红色。如下图所示:

最后查阅了Qt的官方文档:

也就是说,Qt官方文档中规定不能将void setPalette(const QPalette &)函数和样式表一起使用。在实际使用时,如果使用了样式表设置了QPlainTextEdit文本编辑框的颜色,那么再使用QPalette设置QPlainTextEdit颜色时,不生效,以样式表的为准。

参考资料

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
改变QLabel背景颜色
在桌面应用程序开发时,需要显示一些状态信息,例如客户端是否掉线,串口是否打开等,我们可以用一些标志显示给用户,例如如果QLabel显示绿色,表示连接成功,显示黑色表示失败。
全栈程序员站长
2022/09/06
4.7K0
改变QLabel背景颜色
Qt设置窗口背景颜色
1. 通过使用QPalette调色板设置后置背景颜色。 #include <QWidget> #include <QPalette> #include <QApplication> int main(int argc, char **argv) { QApplication a(argc, argv); QWidget w; w.resize(100, 100); QPalette palette(w.palette()); palette.setColor(QPa
Qt君
2020/06/17
7.3K0
C++ Qt开发:PushButton按钮组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QPushButton按钮组件的常用方法及灵活运用。
王瑞MVP
2023/12/12
1.2K0
C++ Qt开发:PushButton按钮组件
C++ Qt开发:Slider滑块条组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍Slider滑块条组件的常用方法及灵活运用。
王瑞MVP
2023/12/16
8930
C++ Qt开发:Slider滑块条组件
嵌入式Qt-控制硬件:滑动条控制RGB灯
前面的几篇文章,介绍Qt例程,都是和硬件无关的,Windows平台和嵌入式平台都能运行。
xxpcb
2022/10/04
1.6K0
嵌入式Qt-控制硬件:滑动条控制RGB灯
Qt小项目之串口助手控制LED
最近刚学了一点Qt开发上位机,尝试着做个小软件练练手。查找了很多资料,做了一个简单的串口助手,可以实现串口基本发送和接收功能,支持中文显示,还可以控制STM32开发板上的两个LED。
单片机点灯小能手
2020/07/17
2.5K0
Qt小项目之串口助手控制LED
PyQt 编程入门(五)
本篇将介绍调色板QPalette的应用和文本对齐的设置,还涉及到字体QFont的设定。
用户6021899
2019/08/14
1K0
Qt Designer基本控件介绍——Input Widgets(输入小部件)
Combo Box :组合框。是一个集按钮和下拉选项于一体的控件,也称做下拉列表框 常用方法: count() :返回下拉选项集合中的数目 currentText() :返回选中选项的文本 itemText(i) :获取索引为 i 的 item 的选项文本 currentIndex():返回选中项的索引 setItemText(int index,text) :改变序列号为 index 的文本 ---- 信号: Activated :当用户选中一个下拉选项时发射该信号 currentIndexChanged
Elsa_阿尼
2021/07/12
6.4K0
Qt Designer基本控件介绍——Input Widgets(输入小部件)
Qt标准对话框的使用
学习编程个人觉得还是得从代码谈起,一方面有利于加深理解,另一方面也方便使(摘)用(抄)。
mythsman
2022/11/14
5530
【C++】Qt:QWidget介绍与注册登陆界面示例
QWidget 是 Qt 框架中的一个基类,用于创建用户界面的可视化组件。它是所有用户界面组件的基础,包括窗口、对话框、按钮、文本框等。QWidget 提供了一组通用的功能和属性,以及与用户交互的事件处理机制。
DevFrank
2024/07/24
8350
【C++】Qt:QWidget介绍与注册登陆界面示例
C/C++ Qt 基础通用组件的应用
QT 是一个跨平台C++图形界面开发库,利用QT可以快速开发跨平台窗体应用程序,在QT中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率。
王瑞MVP
2022/12/23
3.8K0
C/C++ Qt 基础通用组件的应用
初学Qt不会样式表怎么办,打包好的Qt样式表一键生成送给你。
       很多人应该和我一样,想做界面才接触的Qt,结果就是做不出来华丽的界面,想给控件上个色?不会,百度半天,好不容易给控件添加了背景色,下一个控件又不会了,别急,这次福利来了,我将平时用到的样式表做了一个总结,并做了一个一键生成,调节数据就可以实时显示,里面包括了Label,LineEdit,PushButton,CheckBox,RadioButton,ScrollBar,Slider,Progressbar,Tabwidget,ToolBox,TabWidget控件的自定义。代码很简单,就是重复写槽函数,但其对于新手的学习很有帮助,避免了盲目,大量的通过百度数据拼接样式表。一来方便学习,所以参数都写在左下角,方便了解到使用了什么生成了什么,二来不用重复造轮子,调节后,可直接将左下角生成的QSS代码复制到qt的样式表里面即可显示效果。可能有一些人会说这是一种偷懒,让人逐渐不想学习,只能说智者见智仁者见仁吧。
花狗Fdog
2020/10/28
5.1K0
初学Qt不会样式表怎么办,打包好的Qt样式表一键生成送给你。
【QT】QT调色板类
QT提供的调色板类QPalette专门用于管理部件外观显示,相当于部件或对话框的调色板,管理他们所有的颜色信息。每个部件都包含一个QPalette对象,在显示时,按照它的QPalette对象中对各部分各状态下的颜色的描述进行绘制。
半生瓜的blog
2023/05/13
7790
【QT】QT界面的美容院 -- QSS
🔥 在网页前端开发领域中,CSS 是一个至关重要的部分,描述了一个网页的 “样式”,从而起到对网页 美化 的作用。
IsLand1314
2025/04/15
2570
【QT】QT界面的美容院 -- QSS
C++ Qt开发:TableWidget表格组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍TableWidget表格组件的常用方法及灵活运用。
王瑞MVP
2023/12/20
1.7K0
C++ Qt开发:TableWidget表格组件
QT应用编程: 使用qcustomplot显示动态曲线、设计心电图显示页面
完整项目源码下载链接: https://download.csdn.net/download/xiaolong1126626497/18607424
DS小龙哥
2022/01/07
3.9K0
QT应用编程: 使用qcustomplot显示动态曲线、设计心电图显示页面
QT应用编程: QGraphicsView+QGraphicsTextItem动态编辑文本
QGraphicsView+QGraphicsTextItem 实现在画布上动态输入,编辑文本。 类似于截图软件、图片编辑器加文字水印的效果。 比如: 类似于windows系统自带的图片编辑器这个效果。
DS小龙哥
2022/01/07
3.4K1
QT应用编程: QGraphicsView+QGraphicsTextItem动态编辑文本
Qt官方示例-Markdown编辑器
Markdown编辑器演示了如何使用QWebChannel和JavaScript库为自定义标记语言提供富文本预览工具。
Qt君
2019/10/30
2.6K0
Qt官方示例-Markdown编辑器
【Qt】QSS
上述代码的含义表示,针对界⾯上所有的 QPushButton , 都把⽂本颜⾊设置为红色。
YoungMLet
2024/08/15
2061
【Qt】QSS
【Qt】QWidget的styleSheet属性
style?好像前端的style标签了 其实Qt也是又CSS(Cascding Style Sheets-层叠样式表)的,CSS本身是网页前端技术,主要就是用来描述界面的样式。 所谓的样式,包括但不限于大小,位置,颜色,间距,字体,背景,边框等等。 在我们平时看到的网页,就会用到大量的CSS。 那么和Qt有什么关系呢? Qt作为GUI开发,其实和网页前端有很多异曲同工之处,所以呢,Qt也引入了对于CSS的支持~ 但是CSS中可以设置的样式属性非常多,基于这些属性Qt只能支持其中的一部分,因此可以称为QSS。 本文仅为styleSheet属性的简单介绍,后续可能会继续详细的介绍~
Yui_
2025/03/24
930
【Qt】QWidget的styleSheet属性
相关推荐
改变QLabel背景颜色
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验