zeigen Ich möchte in Python 3.4, qt 4.8 und pyqt 4.11 Indices in einem QtGui.QLabel zeigen. In dem Codebeispiel unten Ich habe eine Funktion _subscripter
mit einem Integer und gibt einen String Index dwie tiefgestellte Zeichen in einem qlabel
_subscripter(13)
Out[8]: '₁₃'
möchte ich das Etikett zeigen nur den Index ‚₁₃‘ aber es nicht erkennen, dass (siehe Bild unten). jede Hilfe wird geschätzt.
from PyQt4 import QtGui
from sys import argv, exit
def _subscripter(n):
digits = len(str(n))
s = ''
for i in range(digits):
s += chr(0x2080 + int(str(n)[i]))
return s
def start_app():
app = QtGui.QApplication(argv)
window = QtGui.QLabel(_subscripter(13))
window.show()
window.activateWindow()
exit(app.exec_())
if __name__ == '__main__': start_app()
sieht aus wie ich diese Klasse in meinem Setup bin fehlt ... '' QtCore.QChar'' wirft ein Attribut Fehler .. Vielleicht, das hat etwas mit dem Thema zu tun beginnen mit? Ich dachte mit Python 3.4 '' QChar'' und '' QString'' werden nicht benötigt – asdf
Sie haben vielleicht Recht, ich habe dies mit Python 2.7 getestet, da ich Python 3 nicht auf meinem System installiert habe. Mit 2.7 kann ich auch einfach 'unichr' verwenden, um den Job zu erledigen. 'chr' in Python 3 soll das gleiche tun, also bin ich mir nicht sicher, warum es nicht funktioniert – user3419537
@ user3419537. Standardmäßig stellt PyQt4 nur die Klassen "QString" und "QChar" für Python 2 zur Verfügung, nicht für Python 3. Für letztere werden diese Klassen automatisch Python-String-Objekten zugeordnet. – ekhumoro