我想使用python 3.4,qt 4.8和pyqt 4.11在QtGui.QLabel中显示下标。在下面的代码示例中,我有一个函数_subscripter
,它接受一个整数并返回一个字符串下标,即。
_subscripter(13)
Out[8]: '₁₃'
我希望标签只显示下标' 1'但它不承认(见下图)。任何帮助表示感谢。
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()
答案 0 :(得分:1)
您是否尝试过使用富文本标签?
你可以这样做
from PyQt4 import QtGui
from sys import argv, exit
def start_app():
app = QtGui.QApplication(argv)
window = QtGui.QLabel('Some text<sub>13</sub>')
window.show()
window.activateWindow()
exit(app.exec_())
if __name__ == '__main__':
start_app()
答案 1 :(得分:0)
使用QChar
代替chr
应该有效。
def _subscripter(n):
digits = len(str(n))
s = QtCore.QChar()
for i in range(digits):
s += QtCore.QChar(0x2080 + int(str(n)[i]))
return s