Python 3.x PyQt5方程文本框(下标/上标)
我正在使用PyQt5制作一个化学应用程序,我想实现一个等式文本框,如果用户按下Shift+6,它将转到下标,等等。我做了很多研究,但我找不到一个很好的解释如何做。我非常想要这个功能,任何帮助都将不胜感激。您可以这样做。在本例中,按下Shift-F6时,文本框中的任何选定文本都将变为下标(如果已选择下标,则返回正常)Python 3.x PyQt5方程文本框(下标/上标),python-3.x,user-interface,pyqt5,Python 3.x,User Interface,Pyqt5,我正在使用PyQt5制作一个化学应用程序,我想实现一个等式文本框,如果用户按下Shift+6,它将转到下标,等等。我做了很多研究,但我找不到一个很好的解释如何做。我非常想要这个功能,任何帮助都将不胜感激。您可以这样做。在本例中,按下Shift-F6时,文本框中的任何选定文本都将变为下标(如果已选择下标,则返回正常) from PyQt5 import QtWidgets from PyQt5.QtCore import Qt from PyQt5.QtGui import QTextCharFo
from PyQt5 import QtWidgets
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QTextCharFormat
class Widget(QtWidgets.QWidget):
def __init__(self, parent = None):
super().__init__(parent)
self.text_box = QtWidgets.QTextEdit(self)
layout = QtWidgets.QVBoxLayout(self)
layout.addWidget(self.text_box)
def keyPressEvent(self, event):
if event.modifiers() == Qt.ShiftModifier and event.key() == Qt.Key_F6:
cursor = self.text_box.textCursor()
format = cursor.charFormat()
if format.verticalAlignment() == QTextCharFormat.AlignSubScript:
vert = QTextCharFormat.AlignNormal
else:
vert = QTextCharFormat.AlignSubScript
format.setVerticalAlignment(vert)
cursor.setCharFormat(format)
if __name__ == "__main__":
app = QtWidgets.QApplication([])
w = Widget()
w.show()
app.exec()