python 3.4、qt 4.8、pyqt 4.11を使用してQtGui.QLabelに下付き文字を表示したいと思います。私は以下のコードサンプルでは整数を受け取り、文字列の添字すなわちqlabelの下付き文字の表示方法
_subscripter(13)
Out[8]: '₁₃'
私はラベルをしたいだけの添字を示して返す関数_subscripter
を持っている「₁₃」しかし、それは(下の画像を参照)ことを認識しません。どんな助けもありがたい。 chr
の代わりにQChar
を使用して
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()
を行うことができ
が見える...たぶん問題とは何かを持っています始める?私はpython 3.4と思った。 '' QChar''と '' QString''は必要ない。 – asdf
あなたが正しいかもしれないが、Python 3を自分のシステムにインストールしていないので、これをpython 2.7でテストした。 2.7では、単にunichrを使って仕事を終わらせることもできます。 python 3の 'chr'は同じことをするはずですから、なぜそれが動作しないのかわかりません。 – user3419537
@ user3419537。デフォルトでは、PyQt4はPython 3ではなく、Python 2の 'QString'と' QChar'クラスのみを提供します。後者の場合、これらのクラスは自動的にpython文字列オブジェクトにマップされます。 – ekhumoro