欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PyQt5多行文本框QTextEdit文本改变事件

程序员文章站 2023-11-23 09:25:52
使用装饰器定义信号和槽函数,结合文本改变事件 `textChanged`...

问题描述

文本内容一旦改变则触发事件

PyQt5多行文本框QTextEdit文本改变事件




解决方案

使用装饰器定义信号和槽函数,结合文本改变事件 textChanged




代码

import sys
from PyQt5.QtCore import pyqtSlot, QMetaObject
from PyQt5.QtWidgets import QApplication, QWidget, QTextEdit, QVBoxLayout, QLabel


class MainWindow(QWidget):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.label = QLabel(self)
        self.edit = QTextEdit()
        self.edit.setObjectName("edit")
        layout = QVBoxLayout()
        layout.addWidget(self.label)
        layout.addWidget(self.edit)
        self.setLayout(layout)
        QMetaObject.connectSlotsByName(self)

    @pyqtSlot()
    def on_edit_textChanged(self):
        text = self.edit.toPlainText()
        self.label.setText(text)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = MainWindow()
    win.show()
    sys.exit(app.exec_())




参考文献

  1. PyQt之单行文本框(QLineEdit)控件中的常用方法和信号

本文地址:https://blog.csdn.net/lly1122334/article/details/107098460