Qt QPlainTextEdit background

前端 未结 5 936
Happy的楠姐
Happy的楠姐 2021-01-04 20:29

I want to change the background color of a QPlainTextEdit, how do I do this?

相关标签:
5条回答
  • 2021-01-04 21:08

    If QPlainTextEdit supports style sheets, you could do it like this:

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

    or

    qApp->setStyleSheet("QPlainTextEdit {background-color: yellow}");
    
    0 讨论(0)
  • 2021-01-04 21:10

    Modify the palette of your plain text edit. Sample program:

    #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();
    }
    

    Substitute whatever color you want, of course.

    0 讨论(0)
  • 2021-01-04 21:11

    Slightly confusingly they call it role rather than colour/color.

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

    hint - if you can't find a function for a particular control, click on show inherited members - most general settings are in qWidget which is the basis for eveything drawn on screen.

    0 讨论(0)
  • 2021-01-04 21:17

    May be you need to call QPlainTextEdit::setBackgroundVisible(true).

    0 讨论(0)
  • 2021-01-04 21:18

    In order to modify the background, you need to modify the palette of your QPlainTextEdit and to set background visible:

    myPlainTextEdit->setPalette(QPalette(/*Select the constructor you need*/));
    myPlainTextEdit->setBackgroundVisible(true);
    
    0 讨论(0)
提交回复
热议问题