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

}

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

相关推荐
布莱克6051 小时前
QtWidgets 与 QML:两大 UI 开发框架的全面对比
开发语言·c++·qt·ui·架构
qq_401700412 小时前
Qt 实时大数据量存储:自己动手实现 TDMS 读写
数据库·qt
NiceBlueChai3 小时前
Qt 跨线程传递多容器嵌套结构:一次 Release 实测
开发语言·qt
扶尔魔ocy3 小时前
【QT android】模仿行车记录仪案例
android·qt
zhanghaha131415 小时前
Qt 类本质就是 C++ 的类,只是 Qt 框架扩展了一套【QObject 对象模型】
qt
Cx330❀1 天前
深入浅出 Qt 绘图机制:从 QPainter 到四大图像类解析
开发语言·qt·ui·性能优化·图形渲染
Littlehero_1211 天前
QT自定义控件之水泥厂组态(源码开源)
开发语言·qt
代钦塔拉1 天前
【C++/Qt 进阶】设计模式系列(6):桥接模式——把“两个独立变化的维度“拆开
c++·qt·设计模式
156082072191 天前
银河麒麟 Qt 可执行文件打包说明
开发语言·驱动开发·qt
Quz1 天前
QML GridView 布局:网格排布与排列方向
qt