首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何设置Qtextedit背景色?

如何设置Qtextedit背景色?
EN

Stack Overflow用户
提问于 2015-07-22 04:59:34
回答 1查看 12K关注 0票数 2

我注意到,如果在HTML中我们使用bgcolor=类型“# the 814”,那么在textedit中,背景色将更改为颜色。如何从QAction和QColorDialog获得相同的结果?

我用这个

代码语言:javascript
运行
复制
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=“# the 814”>中使用bgcolor=“#the 814”>的不会更改textedit中的滚动条颜色。

如果我们使用QColor::name,它将以QString格式返回颜色名称(# how 814),如何将其放在html中。例如

代码语言:javascript
运行
复制
void MainWindow::on_actionText_Color_triggered()
{
    QColor color = QColorDialog::getColor(Qt::white,this);
    if(color.isValid())
        ui->textEdit->setTextColor(color);
}

这会改变选定文本的颜色,并将其保存在html中,因此我们在textedit中所做的更改将被记住。

EN

Stack Overflow用户

发布于 2015-07-22 12:39:35

使用相关对象创建QPalette。

代码语言:javascript
运行
复制
QPalette palette = ui->textEdit->pallette();

这是一个有用的例子;

代码语言:javascript
运行
复制
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
票数 5
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31554179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档