1、设置QLabel颜色
#include <Qpalette>
QPalette red;
red.setColor(QPalette::WindowText,Qt::red);
ui->SendIP->setPalette(red); // 设置QLabel的颜色
2、设置QTextEdit颜色–适用于常量
代码
// 设置QTextEdit的颜色
ui->StatusWindow->append("<font color=\"#FF0000\">红色字体</font> ");
ui->StatusWindow->append("<font color=\"#00FF00\">绿色字体</font> ");
ui->StatusWindow->append("<font color=\"#0000FF\">蓝色字体</font> ");
// QTextEdit正常的输出
ui->StatusWindow->append(" ** 服务器IP与端口号为:" + ServerIP +"," + QString::number(ServerPort));
ui->StatusWindow->append(" ** 下位机IP与端口号为:" + LowerComputerIP +"," + QString::number(LowerComputerPort));
// 总结
// (1)QTextEdit与QPlainTextEdit,QTextEdit更能很好的设置颜色,而且其他的也好兼容。
// (2)这种"<font color=\"#FF0000\">红色字体</font> "富文本格式,显示的是常量
运行效果
3、设置QTextEdit颜色–适用于变量
代码1 QTextEdit,设置某行颜色
auto CurrentColor = ui->StatusWindow->textColor(); // 保存当前QTextEdit的颜色
ui->StatusWindow->setTextColor(Qt::red); // 设置下一行颜色
QString str = u8"This a test line"; // 下一行内容
ui->StatusWindow->append(str); // 显示下一行
ui->StatusWindow->setTextColor(CurrentColor); // 将下下一行内容颜色恢复默认
// 总结:
// (1)直接设置某一行的颜色
// (2)这种方法的本质,是将整个QTextEdit的颜色都改变,但由于只改变一行后就恢复默认,表现为只有一行的颜色改变了
运行效果1
代码2 QTextEdit中,某行显示当前时间,并设置颜色
timeCurrent = QDateTime::currentDateTime();
time = timeCurrent.toString("[hh:mm:ss]"); // 获取当前时间,转换为特定形式字符串
TextCurrentColor = ui->UDPDataSend->textColor(); // 保存当前QTextEdit的颜色
ui->UDPDataSend->setTextColor(Qt::darkGray); // 设置下一行颜色
ui->UDPDataSend->append(time); // 显示下一行
ui->UDPDataSend->setTextColor(TextCurrentColor); // 将下下一行内容颜色恢复默认
运行效果2
代码3 QTextEdit中,一段文字显示不同颜色
代码思路:设一个颜色,写一段文字,设一个颜色,写一段文字;
建议使用这种思路,非常简单,比富文本简易多了,不需要在那复制来复制去。
timeCurrent = QDateTime::currentDateTime();
time = timeCurrent.toString("[hh:mm:ss]"); // 获取当前时间,转换为特定形式字符串
ui->UDPDataSend->setTextColor(Qt::darkRed); // 设置下一行颜色
ui->UDPDataSend->append(time); // 显示下一行
ui->UDPDataSend->setTextColor(Qt::darkGreen);
ui->UDPDataSend->append("[To 服务器]:水听器心跳 ");
ui->UDPDataSend->setTextColor(Qt::darkBlue); // 设置下一行颜色
ui->UDPDataSend->append(QString(data.toHex()));
ui->UDPDataSend->setTextColor(Qt::black); // 设置下一行颜色
ui->UDPDataSend->append("tcpflag为" + QString::number(order3.tcpFlag));
ui->UDPDataSend->append("完成唤醒标志位为" + QString::number(order3.wakeupFlag));
ui->UDPDataSend->append("采样率索引为" + QString::number(order3.fs));
ui->UDPDataSend->append("增益索引为" + QString::number(order3.gain));
ui->UDPDataSend->append("接收信号超时为" + QString::number(order3.timeout));
ui->UDPDataSend->append(" ");
运行效果2
文章来源:https://www.toymoban.com/news/detail-543807.html
附录 QT内置颜色
文章来源地址https://www.toymoban.com/news/detail-543807.html
到了这里,关于QT | 设置字体颜色的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!