Search code examples
c++qtqtexteditqtstylesheets

Center the Text of QTextEdit horizontally and vertically


I want to center the text of my QTextEdit horizontally and vertically.

I tried this, but it didn't work.

m_myTextEdit = new QTextEdit("text edit", m_ui->centralWidget);
m_myTextEdit->setGeometry(5, 50, 400, 250);
m_myTextEdit->setReadOnly(true);
m_myTextEdit->setAlignment(Qt::AlignCenter);

Is there a opportunity to set it centered with a StyleSheet?


Solution

  • If you only need one line, you can use a QLineEdit instead:

    QLineEdit* lineEdit = new QLineEdit("centered text");
    lineEdit->setAlignment(Qt::AlignCenter);
    

    If you only want to display the text, not allow the user to edit it, you can use a QLabel instead. This works with line wrapping, too:

    QLabel* label = new QLabel("centered text");
    lineEdit->setWordWrap(true);
    lineEdit->setAlignment(Qt::AlignCenter);