pyQt5-textEdit常用方法

  • Post author:
  • Post category:其他


# -*- coding:utf-8 -*-
"""
@Time:2022/3/23 19:18
@Author:小柠檬
@File:text_edit.py
"""
import time
from PyQt5 import uic, QtCore
from PyQt5.QtCore import QThread, pyqtSignal
from PyQt5.QtWidgets import QApplication


class AppendThread(QThread):
    # 追加线程
    signal = pyqtSignal(str)

    def run(self):
        for i in range(100):
            self.signal.emit(f'追加小柠檬{i}')
            time.sleep(0.05)


class TextEdit:
    # 多行文本编辑框
    def __init__(self):
        # 加载UI界面
        self.ui = uic.loadUi("text_edit.ui")

        # 1.设置文本内容(会覆盖原内容)
        self.ui.textEdit.setPlainText('我是设置的文本')

        # 2.追加文本
        self.ui.textEdit.append('我是追加的文本')

        # 3.获取文本
        text_edit_text = self.ui.textEdit.toPlainText()
        print(text_edit_text)

        # 4.清空文本
        self.ui.textEdit.clear()

        # 5.多线程追加文本
        self.append_thread = AppendThread()
        self.append_thread.signal.connect(self.slot_text_edit)
        self.append_thread.start()

    def slot_text_edit(self, text):
        self.ui.textEdit.append(text)


def main():
    QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)  # 和designer设计的窗口比例一致
    app = QApplication([])
    text_edit = TextEdit()
    text_edit.ui.show()
    app.exec_()


if __name__ == '__main__':
    main()


在这里插入图片描述



版权声明:本文为m0_50153253原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。