父窗口类设置 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)
假如是子窗口的子窗口,多传递一位信号量即可