小编Set*_*tti的帖子

如何使用 PyQt5 运行“While Loop”?

前段时间我制作了一个脚本来记录用户的监视器帧,现在我正在尝试为它创建一个 GUI。目前它只有一个 START 和一个 STOP 按钮,但 STOP 按钮不会停止录制。

我怎样才能改变我的stop_thread功能让它工作?我应该先终止工人然后终止线程吗?我怎样才能终止工人?

import sys
from PyQt5.QtWidgets import (QWidget,
                             QPushButton, QApplication, QGridLayout)
from PyQt5.QtCore import QThread, QObject


class Worker(QObject):

    def __init__(self, parent=None):
        QObject.__init__(self, parent=parent)

    def do_work(self):
        i = 1
        while True:
            print(i)
            QThread.sleep(1)
            i = i + 1

    def stop(self):
        print("stopped")
        self.deleteLater() # How do I stop it?


class Gui(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):

        # Buttons:
        self.btn_start = QPushButton('Start')
        self.btn_start.resize(self.btn_start.sizeHint())
        self.btn_start.move(50, 50)
        self.btn_stop = QPushButton('Stop')
        self.btn_stop.resize(self.btn_stop.sizeHint())
        self.btn_stop.move(150, 50)

        # GUI …
Run Code Online (Sandbox Code Playgroud)

python pyqt5

2
推荐指数
1
解决办法
9087
查看次数

标签 统计

pyqt5 ×1

python ×1