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);

}

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

相关推荐
CSCN新手听安14 分钟前
【Qt】Qt窗口(五)QDialog对话框的使用,点击按钮弹出新的对话框,自定义对话框界面,模态对话框model
开发语言·c++·qt
羽翼未丰的啊博15 分钟前
Can_Chart上位机
网络·qt·汽车
Lhan.zzZ8 小时前
笔记_2026.4.28_004
c++·ide·笔记·qt
笑鸿的学习笔记17 小时前
qt-C++语法笔记之Qt Graphics View 框架中的类型辨析完全指南
c++·笔记·qt
朗迹 - 张伟21 小时前
用AI开发QT——Qt与Trae开发环境搭建
开发语言·qt·策略模式
爱看书的小沐21 小时前
【小沐学GIS】基于C++渲染三维飞行仿真Flight Simulation(OpenGL )第十三期
c++·qt·webgl·opengl·飞行仿真·flight
辞旧 lekkk1 天前
【Qt】初识(上)
开发语言·数据库·qt·学习·萌新
小短腿的代码世界1 天前
Qt日志系统深度解析:从qDebug到企业级日志框架
开发语言·qt
Morwit2 天前
QML组件之间的通信方案(暴露子组件)
c++·qt·职场和发展
金色熊族2 天前
解析QTransform的用法
qt