Important: Please read the Qt Code of Conduct -

QTextEdit::setAlignment not working.

  • Hello,

    the following code,

    QString text = "foo foofoofoo foofoo foofoofoofoo foofoo foofoofoofoo foo foofoo foofoofoo foo foofoo";
    CardLore.resize(447, 98);
    CardLore.move(401, 501);

    where CardLore is a QTextEdit object, fails to justify the text and I don't know why. What am I missing? I've googled my problem but couldn't find a thread about it that was either recent or working.

    Thanks in advance for any help.

  • Lifetime Qt Champion

    Hi and welcome to devnet,

    Calling setAlignment will make the next paragraph use the alignment. So you have to do:


    Hope it helps

  • Thanks for your reply!

    Unfortunately this didn't work for me, although it works if I replace Qt::AlignJustify with Qt::AlignRight (I have no idea why), but that's not what I want :(

  • Status update:

    QPainterObject.drawText(QRect(34, 475, 350, 75), Qt::AlignJustify | Qt::TextWordWrap, someText);

    does wrap the text, but seems unabled to justify it as well. So either I'm using Qt::AlignJustify the wrong way, or Qt::AlignJustify doesn't work on Ubuntu.


  • Lifetime Qt Champion

    Are you sure it's not the size of your widget that makes it seems like it's not justified ?

  • @SGaist

    Well the text was wrapped and each line ended at a different place, so it was clear that the text wasn't justified.

  • Lifetime Qt Champion

    You were using a QTextEdit and now you are using a painter. What is your current code ?

  • I apologize, my main concern was about QTextEdit, and I happened to try to do that (as a totally different issue) on a QImage with QPainter. That failed as well, and I mistook this thread for my newer problem.

    I'm still using the code in the OP.

Log in to reply