【问题标题】:Qt draw text on a point aligned by its center [duplicate]Qt在中心对齐的点上绘制文本[重复]
【发布时间】:2016-10-27 16:31:20
【问题描述】:

听起来很简单,我想在显示屏上的某个点上绘制文本,以便它的中心水平和垂直对齐。

然而它看起来并不那么简单,我使用了其他库,我所要做的就是设置文本对齐,然后在指定点绘制文本。

Qt 没那么简单。

【问题讨论】:

    标签: c++ qt


    【解决方案1】:

    即使我们使用 FTGL 来呈现文本。

    但在 QT 中有控制对齐的方法。

    我猜你使用QPainter::drawText 来绘制文本。

    有一个库函数:

    void QPainter::drawText(int x, int y, int width, int height, int flags, const QString & text, QRect * boundingRect = 0)
    

    这里的 flags 参数是一个按位或运算符,有很多对齐选项。

    我认为对于您的情况,您可以使用Qt::AlignHCenter | Qt::AlignVCenter

    参考文档:

    http://doc.qt.io/qt-4.8/qpainter.html#drawText-13

    【讨论】:

    • 谢谢,我知道了很多,问题是它不是那么简单。
    • 好的。我要删帖吗?
    • 试试看它是否适合你?
    • 好的。会试一试的。
    猜你喜欢
    • 1970-01-01
    • 2020-01-23
    • 2019-11-21
    • 1970-01-01
    • 1970-01-01
    • 2019-10-21
    • 1970-01-01
    • 2018-04-01
    • 2021-12-25
    相关资源
    最近更新 更多