pyQGIS 中的下划线

Underline in pyQGIS

我目前正在 Qgis 上做一些大学项目,我必须使用 Python 来生成地图。

我想知道是否有办法给 str 添加下划线(如屏幕截图所示)。

Text rounded in red is the text I want to underline

提前感谢您的帮助!

确实对于 QGIS 它是特别的......也许它存在其他方法,但我这样做:

首先,您必须将要加下划线的文本与其他文本分开。

然后使用QtGui.QFont自定义字体,并将其应用到想要的文本,而不是以前的setFont。

示例:

...
from PyQt5 import *
...
myTitleBoldFont=QtGui.QFont("Verdana", 27)
myTitleBoldFont.setUnderline(True)
...
TextCustom.setFont(myBoldFont)

别忘了导入PyQt5.

我终于设法使用了在 pyQgis 的文档上找到的另一个解决方案。这是:

# Sous-titre

subtitle = QgsLayoutItemLabel(layout)
subtitle.setMode(QgsLayoutItemLabel.Mode.ModeHtml)
subtitle.setText("<u>Coordonnées GPS :</u> " + (str(y_camping)) + " , " + (str(x_camping))+ " | <u>Téléphone :</u> "+str(tel_camping))
subtitle.setFont(b17)
subtitle.adjustSizeToText()
layout.addLayoutItem(subtitle)
subtitle.attemptMove(QgsLayoutPoint(5, 19, QgsUnitTypes.LayoutMillimeters))

事实上,我只是转换 html 中的标签,然后可以使用 < u >> !

为其中包含的文本添加下划线