进程pyq的进度条

2024-09-30 22:28:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个简单的pyqt代码,其中有一个调用shell命令的按钮。我想为shell命令的执行添加一个进度条。您知道如何链接进度条和进程(shell命令)吗

    def dataReady(self):
        cursorOutput = self.output.textCursor()
        cursorOutput.movePosition(cursorOutput.End)

        # Read stdout from child process
        processStdout = str(self.process.readAll())

        # Update self.output
        cursorOutput.insertText(processStdout)

        self.output.ensureCursorVisible()


    def startProcess(self):
        self.completed = 0

        while self.completed < 100:
            self.completed += 0.0001
            self.progress.setValue(self.completed)

        script = f"""cd /Users/alex/test/src; ./Allmake_all;"""
        self.process.start("bash", ["-c", script])


    def initUI(self):
        # Elements
        self.progress = QtWidgets.QProgressBar(self)
        self.startBtn = QtWidgets.QPushButton('Install all',self)
        self.startBtn.clicked.connect(self.startProcess)
        self.output = QtWidgets.QTextEdit(self)


Tags: 进度条命令selfoutputdefscriptallshell