如何向self.textEdit_15中填加可设置文字字号和颜色?
时间: 2024-11-23 16:38:48 浏览: 19
DevExpress实现为TextEdit设置水印文字的方法
在PyQt5的QTextEdit中,你可以通过`setFont()`方法设置字体大小,`setStyleSheet()`方法设置样式包括颜色。以下是一个例子说明如何添加可设置的文字字号和颜色:
```python
# 设置默认字体和字号
font = QFont('Arial', 12) # Arial字体,字号12 pt
self.textEdit_15.setFont(font)
# 添加CSS样式来改变特定部分的颜色
red_color_style = "color: red;"
bold_font_style = "font-weight: bold;" # 或者使用QFont.Bold
# 指定段落或指定位置更改颜色和粗体
selected_text = "<p>这是你要改变的文本,例如离火位...</p>"
self.textEdit_15.setHtml(selected_text + "\n<p style='" + bold_font_style + red_color_style + "'>更改这部分的字体和颜色</p>")
# 当然,如果你想让用户动态选择文字并自定义颜色和大小,可以监听选中文本事件(如 QTextCursor 的 MovePosition 信号),然后更新对应的样式。
# 示例:
cursor = self.textEdit_15.textCursor()
cursor.movePosition(QTextCursor.WordRight, QTextCursor.KeepAnchor) # 移动光标到最后一个单词
cursor.select(QTextCursor.WordUnderCursor) # 选择当前单词
selected_text = cursor.selectedText()
self.textEdit_15.setTextCursor(cursor) # 放回光标位置
custom_css = f"font-size: {str(fontSize)}pt; color: {hex(color)[2:]};"
self.textEdit_15.setStyleSheet(custom_css) # 用用户选择的颜色和大小替换上面的红色和粗体
```
这里的`fontSize`和`color`应根据用户的输入进行相应设置。
阅读全文