无法使用pyside Qprocess启动exe文件

unable to start exe file with pyside Qprocess

我无法从 pyside GUI 启动 exe 文件, 我试图浏览并打开一个 exe 文件,但我发现 qprocess 文档太少,我无法找到正确 运行 的方法

这是我的代码

   def run_automatch(self):
    file_path, _ = QFileDialog.getOpenFileName(self, 'Single File', 
                                                       QtCore.QDir.currentPath(),'*.exe')
    p = QProcess()
    p.setProgram(file_path)
    p.setWorkingDirectory(QtCore.QDir.currentPath())
    p.start()

这个问题可能是因为“p”是一个局部变量所以它会在run_automatch完成后立即销毁。一个可能的解决方案是创建一个列表,该列表是 class 的属性并存储 QProcesses:

def __init__(self, ...):
    # ...

    self.processes = []

def run_automatch(self):
    file_path, _ = QFileDialog.getOpenFileName(
        self, "Single File", QtCore.QDir.currentPath(), "*.exe"
    )
    if not file_path:
        return

    p = QProcess()
    p.setProgram(file_path)
    p.setWorkingDirectory(QtCore.QDir.currentPath())
    p.start()

    self.processes.append(p)