注意:类 MyWindow(QWidget):
在初始化
self.proc = QtCore.QProcess(self)
self.te = QTextEdit(self)
self.btn = QPushButton("Execute", self)
self.btn.clicked.connect(self.__event_btn)
现在我有这个:
def __event_btn(self):
w_dir = "" # This set to my working directory where my C files are
args = ["-o", "MyFile", "MyFile.c"]
cmd = "gcc"
self.proc.setWorkingDirectory(dir)
self.proc.readyReadStandardOutput.connect(self.__read)
self.proc.closeWriteChannel()
self.proc.setReadChannel(QtCore.QProcess.StanfardOutput())
self.proc.start(cmd, args)
def __read(self):
self.te.setText(self.proc.readAllStandardOutput)
在进程执行完成之前,上面的代码不会显示任何内容。
现在我的问题是,有什么方法可以捕获 gcc 的输出并在 TextEdit 中显示它们,而不是等待进程完成?(cmd.exe 或终端的方式。它们在程序运行时显示输出)
谢谢
- 标记