ich habe vor langer Zeit eine einfache Funktion zum Ausmessen eines Textstrings in Pixel geschrieben. Diese Funktion habe ich immer in einer Qt5-Widget-Instanz aufgerufen. Dies hat auch immer sehr gut funktioniert.
Als ich die Funktion nun das erste mal außerhalb einer Instanz von PyQt5 aufgerufen habe bricht das ganze dann bei der return-Anweisung ab. Ich habe leider hier noch ein Verständnisproblem warum das so ist. Ich hoffe ihr könnt mir hier auf die Sprünge helfen.
Vielen Dank schon im Vorraus.
Der Quelltext der Funktion:
P.S.: Ich weiß, dass die QFontMetrics.width()-Funktion eigentlich veraltet ist.
Folgende Fehlermeldung erscheint: "Process finished with exit code -1073741819 (0xC0000005)"
Code: Alles auswählen
from PyQt5 import QtGui
def berechne_textlaenge(text: str, schriftgroesse: int, schriftart: str = "Arial", bold: bool = False) -> int:
"""
Ausmessen eines beliebigen Strings in Pixel
:param text:
:param schriftart:
:param schriftgroesse:
:param bold:
"""
# Fontobjekt
font = QtGui.QFont()
# Schriftart
font.setFamily(schriftart)
# fett schreiben ja oder nein
font.setBold(bold)
# Schriftgroesse
font.setPointSize(schriftgroesse)
# Objekt zum Ausmessen des Texts
fm = QtGui.QFontMetrics(font)
return fm.width(text)
if __name__ == '__main__':
print(berechne_textlaenge("test", 10))