父窗口類設置 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)
假如是子窗口的子窗口,多傳遞一位信號量即可