gpt4 book ai didi

c++ - 如何在QGraphicsSimpleTextItem中居中显示文本?

转载 作者:行者123 更新时间:2023-12-02 09:58:24 26 4
gpt4 key购买 nike

对不起,我的英语不是我的母语。
我有一个问题-我需要在QGraphicsSimpleTextItem中居中放置文本。我从QGraphicsSimpleTextItem继承了我的类(class)。我需要重写paint()方法还是应该怎么做?
我已经在tightBoundingRect()中阅读了有关QFontMetrics的信息。我可以在QGraphicsSimpleTextItem中设置紧密边界rect的位置吗?
谢谢你的帮助!

最佳答案

也许这样的事情可能会起作用。

void MySimpleTextItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) {
QFont numberFont = QFont("Helvetica [Cronyx]", 20);
painter->setFont(numberFont);
painter->drawText(boundingRect(), Qt::AlignCenter, QString::number(itemIndex));
}
在我的情况下,这段代码是在椭圆内部居中的QGraphicsEllipseItem内部绘制一个数字。我对代码进行了调整,以适应您的情况,但是这里的重点是 painter->drawText(boundingRect(), Qt::AlignCenter, QString::number(itemIndex));,您在其中使用boundingRect()以及标志Qt::AlignCenter。

关于c++ - 如何在QGraphicsSimpleTextItem中居中显示文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64042278/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com