我注意到如果在HTML中使用bgcolor="#ffd814"类型,那么在textedit中背景颜色会改变为这个颜色。我该如何在QAction和QColorDialog中获得相同的结果?
我试过这个:
void MainWindow::on_actionBackground_Color_triggered()
{
QColor color = QColorDialog::getColor(Qt::white,this);
QPalette palette;
palette.setColor(QPalette::Base,color);
if(color.isValid())
ui->textEdit->setPalette(palette);
}
但它不改变HTML,因此在关闭和打开文件后,背景仍然是白色。
备注:在 < body bgcolor="#ffd814" > 中使用 bgcolor="#ffd814" 不会更改textedit中的滚动条颜色。
如果我们使用 QColor::name,它将以QString格式返回颜色名称(#ffd814),我们如何将其放入HTML中。例如:
void MainWindow::on_actionText_Color_triggered()
{
QColor color = QColorDialog::getColor(Qt::white,this);
if(color.isValid())
ui->textEdit->setTextColor(color);
}
这会改变所选文本的颜色并将其保存在HTML中,因此我们在TextEdit中所做的更改会被记住。