我有课
class plainTextEditor: public QPlainTextEdit
{
Q_OBJECT
public:
void setTextColor(const QColor &c); // default function setTextColor(const QColor &c) from QTextEdit
{
QTextCharFormat fmt;
fmt.setForeground(QBrush(c));
this->mergeCurrentCharFormat(fmt);
}
};
和:
plainTextEditor *mainText = new plainTextEditor(centralWidget);
我在启动窗口构造函数中使用了这段代码:
ui->mainText->setTextColor(Qt::red);
但如果我删除所有文本并再次写入,文本颜色将恢复为黑色。我尝试修复:
connect(ui->mainText, &QPlainTextEdit::textChanged, [this](){
ui->mainText->setTextColor(Qt::red);
};
但是,如果我选择所有文本并粘贴,则文本部分颜色为黑色