QT:QGraphicsTextItem 对齐字符到左上角

QT : QGraphicsTextItem alignment char to top-left corner

我想绘制一个对齐到parent左上角的字符。

QGraphicsTextItem * tItem = new QGraphicsTextItem(parent);
tItem->setPlainText("a"); 
tItem->setPos(QPointF(0,0));

下图显示了我的代码的输出(灰色矩形是 QGraphicsTextItem 的父级)

结果:

我想得到这样的结果:

我的梦想结果:

我尝试使用 Qt::AlignLeft 和 Qt::AlignTop 但无济于事。

解决办法是把setDocumentMargin(0)改成QTextDocument,如果只放字母"a"好像不是解决办法,好像有垂直偏移, 但实际上它不是偏移量而是大写字母具有更高的高度。

示例:

#include <QApplication>
#include <QGraphicsTextItem>
#include <QGraphicsView>
#include <QTextDocument>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QGraphicsScene scene;
    QGraphicsView view(&scene);
    auto parent = scene.addRect(QRectF(0, 0, 100, 100),  QPen(Qt::red), QBrush(Qt::blue));

    auto * tItem = new QGraphicsTextItem(parent);
    tItem->setPlainText("aAbB");
    tItem->document()->setDocumentMargin(0);
    view.show();
    return a.exec();
}