- multiprocessing对象要放在__main__所在的启动文件
- 使用槽连接multiprocessing对象
import sys
from multiprocessing import Pool
from PyQt5.QtWidgets import *
class Window(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("hello")
self.resize(800, 600)
self.btn = QPushButton('Start')
self.setup_ui()
def setup_ui(self):
layout = QVBoxLayout()
self.setLayout(layout)
layout.addWidget(self.btn)
def updater(num):
print(num)
def main_tracker():
p = Pool(processes=4)
p.map(updater, range(0, 100))
p.close()
p.join()
if __name__ == "__main__":
app = QApplication(sys.argv)
window = Window()
# 建立槽连接
window.btn.clicked.connect(main_tracker)
window.show()
sys.exit(app.exec_())