无法使用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)
我无法从 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)