# -*- 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 版权协议,转载请附上原文出处链接和本声明。