qt6:无法使用setFontColor

问题描述

跟着C++开发指南视频学习,但是发现无论是直接使用ui设计,还是纯代码都无法实现变更字体颜色的功能。图中显示,点击颜色控件后,文本框的文字加粗、下划线、斜体等才能设置,但是无法变更颜色。

此文提醒qt style shee t影响了文本框的颜色变化。但是本文是使用UI进行设计,我用代码进行UI设计,所以无法直接按照里面介绍的方法,删除文本编辑框txtEdit的样式表的字体颜色。同时发现,QT ducumentation官网提供了许多内容的检索。

在检索 **qt6 setStyleSheet(color:red)时,发现 txtEdit->setStyleSheet("color:blue");**这个表达是存在的,于是直接采用如下表达。但是问题在于,只有第一个if表达下的函数是有效的,其它if下的语句无效。换言之,样式表可以作用于文本框,但是使用限制比较多。

cpp 复制代码
void Dialog::do_setFontColor()
{
    QPalette plet=txtEdit->palette();
    if(radioBlack->isChecked())
        txtEdit->setStyleSheet("color:blue");
        //plet.setColor(QPalette::Text,Qt::black);
    if(radioRed->isChecked())
        //txtEdit->setStyleSheet("color:blue");
         txtEdit->setStyleSheet("color:red");
        //plet.setColor(QPalette::Text,Qt::red);
    if(radioBlue->isChecked())
         //txtEdit->setStyleSheet("color:blue");
       // plet.setColor(QPalette::Text,Qt::blue);
    //txtEdit->setStyleSheet("color:red");
    // txtEdit->setStyleSheet("color:red");
    txtEdit->setPalette(plet);

}

经过测试,这种表达是无效的。

相关推荐
十五年专注C++开发3 小时前
100w条数据丝滑滚动!Qt Model/View 架构实战(二)
开发语言·c++·qt
skr爱码士3 小时前
06_Qt 常用数据类型与容器:QString、QList、QVector、QMap 的性能与实现分析
开发语言·c++·qt
程与留1 天前
06_Qt 常用数据类型与容器:QString、QList、QVector、QMap 的性能与实现分析
数据结构·qt
zlinear数据采集卡1 天前
数据采集卡从入门到精通(38):上位机开发实战——Python/QT/LabVIEW的技术选型与分层架构
python·单片机·嵌入式硬件·qt·fpga开发·开源·labview
skr爱码士1 天前
05_Qt 核心模块概览——Qt Core、Gui、Widgets、Quick 的职责划分
c++·qt·系统架构·客户端
MOONICK1 天前
QT的UI开发框架
qt·ui
郝学胜-神的一滴1 天前
Horse3D 游戏引擎研发笔记(七):Clydesdale——从流式日志到多输出订阅
c++·qt·unity·游戏引擎·图形渲染·unreal engine·opengl
NO12121 天前
python pyqt5調用攝像頭實時顯示
开发语言·python·qt
丰锋ff2 天前
基于 Qt 的智慧社区物业管理系统
开发语言·qt
程与留2 天前
05_Qt 核心模块概览——Qt Core、Gui、Widgets、Quick 的职责划分
c++·qt