我正在尝试使用addItem为QComboBox输入化学式,但我不知道如何下标这些数字。我真的很感激我能得到的任何帮助。
我试过了: 1.在数字" $ \ 3 $"之前和之后使用美元符号($) 2.使用大括号和美元符号" $ _ {3} $" 3.使用Unicode格式" \ u2083"。这个可以工作,但只有当您看到下拉菜单的选项时,它才会显示子脚本编号。选择该选项后,它会显示一个垂直条代替数字(参见图片)
self.amp_sub1_Box = QtGui.QComboBox(self)
self.amp_sub1_Box.addItem("H")
self.amp_sub1_Box.addItem("CH\u2083")
self.amp_sub1_Box.addItem("CH\u2082CH\u2083")
答案 0 :(得分:0)
unicode格式化应该有效。在此示例中,下标列表以及所选项目中正确显示了下标数字:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sys
from PyQt5 import QtGui, QtWidgets
class MyWidget(QtWidgets.QWidget):
def __init__(self):
QtWidgets.QWidget.__init__(self)
self.setGeometry(200,100,600,700)
self.combo = QtWidgets.QComboBox(self)
self.combo.setGeometry(50,100,300,25)
items = ('CH3-CH3','CH\u2083-CH\u2083','H2O','H\u20820','H2SO4','H\u2082SO\u2084')
for i in range(0,len(items)):
self.combo.addItem(items[i])
app = QtWidgets.QApplication(sys.argv)
widget = MyWidget()
widget.show()
sys.exit(app.exec_())
答案 1 :(得分:0)
正如ekhumoro在评论中所说,改变字体样式解决了这个问题。只需使用:QComboBox.setFont(QtGui.QFont('Verdana'))