无法使用 pyside Qprocess 启动 exe 文件
Posted
技术标签:
【中文标题】无法使用 pyside Qprocess 启动 exe 文件【英文标题】:unable to start exe file with pyside Qprocess 【发布时间】:2021-02-14 22:26:39 【问题描述】:我无法从 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()
【问题讨论】:
【参考方案1】:这个问题可能是因为“p”是一个局部变量,所以它会在run_automatch完成后立即销毁。一个可能的解决方案是创建一个作为类属性的列表并存储 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)
【讨论】:
对此进行了尝试,并为 p 和进程列表输出添加了打印语句,如下所示以上是关于无法使用 pyside Qprocess 启动 exe 文件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 PySide 中获取 QProcess 运行的命令的输出?
Pyside:多个 QProcess 输出到 TextEdit