核心
在 PyQt5 中,你可以通过处理鼠标滚轮事件来设置
QTextEdit的字体大小。具体做法是在QTextEdit上重新实现wheelEvent方法,并根据滚轮方向调整字体大小。
代码
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
class MouseChangeQTextEditFont(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("快捷键示例")
        self.textEdit = QTextEdit()
        layout = QVBoxLayout()
        layout.addWidget(QPushButton("按钮"))
        layout.addWidget(self.textEdit)
        self.setLayout(layout)
    def wheelEvent(self, event: QWheelEvent):
        # 捕捉鼠标滚轮事件并调整字体大小
        delta = event.angleDelta().y()
        font = self.textEdit.font()
        # 根据滚轮方向调整字体大小
        if delta > 0:
            font.setPointSize(font.pointSize() + 1)
        else:
            font.setPointSize(font.pointSize() - 1)
        self.textEdit.setFont(font)
    def func(self):
        print('按钮被点击了')
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MouseChangeQTextEditFont()
    window.show()
    sys.exit(app.exec_())
效果

控件的简单封装实现
class TextEdit(QTextEdit):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setFont(standard_font)  # 设置标准字体
    def wheelEvent(self, event: QWheelEvent):
        # 捕捉鼠标滚轮事件并调整字体大小
        delta = event.angleDelta().y()
        font = self.font()
        # 根据滚轮方向调整字体大小
        if delta > 0:
            font.setPointSize(font.pointSize() + 1)
        else:
            font.setPointSize(font.pointSize() - 1)
        self.setFont(font)



















