pyside2 父窗口与子窗口信号量传递数据


父窗口类设置 message信息

def set_message(self, parameter):
    self.ui.statusbar.showMessage(parameter)

子窗口类里 定义信号量

message = QtCore.Signal(str)

子窗口类里 传递信号

def set_message(self, message):
    self.message.emit(message)

父窗口类设置 连接信号

home_ui.message.connect(self.set_message)

这样只要在子类中调用set_message的函数,父类窗口的statusbar就能刷新数据(不能看到过程,只有结果)

多线程刷新ui(在程序执行的时候可以更新ui界面),可以实时看到信息

def statusMessage(func, arg):  # 新线程入口函数
    if isinstance(arg, tuple):
        s = ''
        for i in arg:
            s += (str(i) + ' ')
        arg = s
    thread = Thread(target=func, args=(arg,))
    thread.start()

如何调用:

statusMessage(self.thread_message, str_message)

假如是子窗口的子窗口,多传递一位信号量即可


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM