当前位置: 代码迷 >> 综合 >> pyqt5中使用信号槽实现qtextedit追加式写入内容
  详细解决方案

pyqt5中使用信号槽实现qtextedit追加式写入内容

热度:50   发布时间:2024-03-06 15:01:30.0

0、使用信号与槽的机制

可以在多线程中随意修改控件的内容,信号槽具有多中方式,可以传递str,int等类型变量

1、首先在class类的下方定义一个信号槽

m_singal = pyqtSignal(str)  # 定义一个信号槽

2、在__init__方法中进行信号槽的初始化

self.m_singal.connect(self.show_msg)

3、定义信号槽调用的show_msg方法,并且传递一个变量,同时获取textEdit控件的当前游标,使其移到最末尾,然后在该控件中使用append方法,追加写入。此方法中主要是实现具体的操作

def show_msg(self,msg):self.textEdit.moveCursor(QTextCursor.End)self.textEdit.append(msg)

4、在产生内容的地方发射自定义信号,msg为需要发射的内容

self.m_singal.emit(msg)  #发射信号