Ich habe vor bald 10 Jahren ein Programm geschrieben bei dem ich PyQt4 und Python 2 verwendet habe. Aus div. Gründen ist es jetzt an der Zeit auf Python 3 und PySide2 zukonvertieren. Weil es praktisch war, habe ich damals vor Allem dann Texte als QString deklariert, wenn ich auf Methoden zugreifen wollte, die in den Python Textobjekten nicht verfügbar waren. Also: QString.append(), QString.chop() oder QString.insert().
Wenn jetzt QString nicht mehr verfügbar ist und darauf verwiesen wird, dass str() verwendet werden soll (muss), dann fehlen mir u.a. die oben genannten Methoden. Leider haben ich keine weiteren Informationen gefunden, auf welche Weise diese Methoden in str() realisiert sind.
Meine Versuche mit einer neuen Klasse, die von str erbt schlagen fehl. Zum Beispiel für .append():
Code: Alles auswählen
class StringClass(str):
def __init__(self,string=""):
self.internal_string=str(string)
def append(self,string):
self.internal_string=self.internal_string + string
meinString=StringClass("Aussage")
meinString.append(": JA!")
print(meinString)
Output:
Aussage
Meine Fragen:
Gibt es einen offiziellen Weg für die Konvertierung von QString nach str, der auch die von mir genannten Methoden berücksichtigt?
Was wäre der beste Weg?
Ich hoffe mein Weg ist nicht grundsätzlich zum Scheitern verurteilt, aber wie bekomme ich es hin, dass meinString den Inhalt von self.internal_string bekommt?
Vielen Dank!
JoS