如何设置Qtextedit背景颜色?

我注意到,如果在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中所做的更改会被记住。


用相关的对象创建你的QPalette。

QPalette palette = ui->textEdit->pallette();

这是一个工作的例子;

QColor color = QColorDialog::getColor(Qt::white,this); // in here your color pallete will open..

QPalette p = ui->textEdit->palette(); // define pallete for textEdit.. 
p.setColor(QPalette::Base, Qt::red); // set color "Red" for textedit base
p.setColor(QPalette::Text, color); // set text color which is selected from color pallete
ui->textEdit->setPalette(p); // change textedit palette
链接地址: http://www.djcxy.com/p/15369.html

上一篇: How to set Qtextedit background color?

下一篇: Represent XML as a HTML in Flex RichEditableText