如何对齐QTextEdit文本

时间:2018-08-10 10:06:37

标签: c++ qt qtextedit

如何对齐此文本? \t不好。

我所看到的(图像)

预期结果(图像)

2 个答案:

答案 0 :(得分:4)

我曾经有过这个问题。为了解决该问题,我使用了等宽字体字体。

为了使所有内容对齐(固定字体宽度),我使用了以下这些行:

  // Use "monospaced" font: 
  // ->insure left column alignment, as for the terminal
  //
  QFont font("monospace");
  font.setPointSize(10);
  myQTextEdit->setCurrentFont(font);

从我的父窗口小部件中包含一个QTextEdit子窗口小部件。

答案 1 :(得分:2)

此行:

QString str = QString("B%1").arg(_ui->lineEdit->text().toInt(), 3, 10, QChar('0'));

lineEdit->text() = 1 ,    str = B001
lineEdit->text() = 01 ,   str = B001
lineEdit->text() = 001 ,  str = B001
lineEdit->text() = 0001 , str = B001
lineEdit->text() = 12 ,   str = B012
lineEdit->text() = 123 ,  str = B123

您可以对其进行调整以供使用。

根据海德评论进行编辑

int main(int argc, char **argv)
{
 qint32 a,b,c,d,e;

a = -1;b = 1;c = -1;d = 3;
e = (a*b) + (c*d);
QString str = QString("(%1*%2) + (%3*%4) = %5").arg(a, 2, 10, QChar(' '))
                                               .arg(b, 2, 10, QChar(' '))
                                               .arg(c, 2, 10, QChar(' '))
                                               .arg(d, 2, 10, QChar(' '))
                                                .arg(e);

QTextStream(stdout) << str << endl;

a = -1;b = 2;c = -1;d = 4;
e = (a*b) + (c*d);
str = QString("(%1*%2) + (%3*%4) = %5").arg(a, 2, 10, QChar(' '))
                                              .arg(b, 2, 10, QChar(' '))
                                              .arg(c, 2, 10, QChar(' '))
                                              .arg(d, 2, 10, QChar(' '))
                                               .arg(e);

QTextStream(stdout) << str << endl;

return 0;
}

输出为:

(-1 * 1) + (-1 * 3) = -4 
(-1 * 2) + (-1 * 4) = -6