Qt QPlainTextEdit背景

时间:2009-10-06 23:36:19

标签: c++ qt

我想更改QPlainTextEdit的背景颜色,我该怎么做?

5 个答案:

答案 0 :(得分:14)

修改纯文本编辑的调色板。示例程序:

#include <QApplication>
#include <QPlainTextEdit>

int main(int argc, char* argv[])
{
  QApplication app(argc, argv);

  QPlainTextEdit edit;
  QPalette p = edit.palette();

  p.setColor(QPalette::Active, QPalette::Base, Qt::red);
  p.setColor(QPalette::Inactive, QPalette::Base, Qt::red);

  edit.setPalette(p);

  edit.show();
  return app.exec();
}

当然可以替代你想要的任何颜色。

答案 1 :(得分:3)

有点令人困惑的是,他们称之为角色而不是颜色/颜色。

https://doc.qt.io/qt-5/qwidget.html#setBackgroundRole

提示 - 如果找不到特定控件的功能,请单击show inherited members - 大多数常规设置都在qWidget中,这是在屏幕上绘制的eveything的基础。

答案 2 :(得分:3)

如果QPlainTextEdit支持样式表,你可以这样做:

myPlainTextEdit->setStyleSheet("background-color: yellow");

qApp->setStyleSheet("QPlainTextEdit {background-color: yellow}");

答案 3 :(得分:0)

您可能需要致电QPlainTextEdit::setBackgroundVisible(true)

答案 4 :(得分:0)

要修改背景,您需要修改QPlainTextEdit的palette并将背景设置为可见:

myPlainTextEdit->setPalette(QPalette(/*Select the constructor you need*/));
myPlainTextEdit->setBackgroundVisible(true);