说明
基于pyside6的GUI编程
工作子线程,接收信号后开始工作,run()写程序后台运行逻辑
GUI程序,死循环连接控件信号槽函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 import sysimport timefrom PySide6.QtWidgets import QMainWindow, QApplicationfrom PySide6.QtCore import QThread, Signalfrom common.gui import Ui_Formclass WorkThread (QThread ): trigger = Signal(str ) def __init__ (self, parent=None ) -> None : super ().__init__(parent) def run (self ): for i in range (1 ,16 ): time.sleep(1 ) self .trigger.emit(str (i)) class MianWin (QMainWindow, Ui_Form): def __init__ (self, parent=None ) -> None : super ().__init__(parent) self .setupUi(self ) self .thread = WorkThread(self ) self .runButton.clicked.connect(self .start_run) def display (self, i ): self .listWidget.addItem(str (i)) def start_run (self ): self .thread.start() self .thread.trigger.connect(self .display) if __name__ == "__main__" : app = QApplication(sys.argv) window = MianWin() window.show() sys.exit(app.exec ())