当前位置:首页 > 编程笔记 > 正文
已解决

qt6:无法使用setFontColor

来自网友在路上 170870提问 提问时间:2023-11-05 16:16:26阅读次数: 70

最佳答案 问答题库708位专家为你答疑解惑

问题描述

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

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

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


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

经过测试,这种表达是无效的。
在这里插入图片描述

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"qt6:无法使用setFontColor":http://eshow365.cn/6-32820-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!