我使用 PyQt5 编写了一个小型文本编辑器。假设我在编辑器中输入了 Hello World,点击打印按钮后,我需要了解“Hello World”中每个字符的以下信息:
实际字符值(例如迭代器为 1 时为 H,迭代器为 2 时为 e...等)
字符是否为粗体
字符是否为斜体
字符的字体大小
从文档https://doc.qt.io/qtforpython/PySide2/QtGui/QTextBlock.html看来,可以迭代文本块。我不确定该怎么做以及如何提取上述信息。
from PyQt5 import QtCore, QtGui, QtWidgets
class freeTextPrint(QtWidgets.QMainWindow):
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
self.setupUI()
def setupUI(self):
#Render the font size label
self.toolbar = self.addToolBar('format')
labelFontSize = QtWidgets.QLabel('Font Size')
font = QtGui.QFont()
font.setPointSize(11)
font.setBold(True)
labelFontSize.setFont(font)
self.toolbar.addWidget(labelFontSize)
self.toolbar.addSeparator()
#Font Size combo box
self.fontSizeComboBox = QtWidgets.QComboBox(self)
#Insert font sizes to the combo box
sizeList = list(range(10, 31))
for i in sizeList:
self.fontSizeComboBox.addItem(str(i))
self.fontSizeComboBox.currentIndexChanged.connect(self.fontSizeChanged)
font.setBold(False)
self.fontSizeComboBox.setFont(font)
self.toolbar.addWidget(self.fontSizeComboBox)
#A toogle button to set bold font to True or False
self.toolbar.addSeparator()
self.boldAction = QtWidgets.QAction(QtGui.QIcon('icons/format-text-bold.svg'), 'bold', self)
self.boldAction.triggered.connect(self.bold)
self.toolbar.addAction(self.boldAction)
#A toogle button to set italic to true or false
self.italicAction = QtWidgets.QAction(QtGui.QIcon('icons/format-text-italic.svg'),'italic', self)
self.italicAction.triggered.connect(self.italic)
self.toolbar.addAction(self.italicAction)
吃鸡游戏
相关分类