subprocess.popen在pyqt中不起作用
我有一个小函数,它从一个图形界面(GUI)组件的内容中创建一个报告文件。现在我在用subprocess.Popen来打开这个报告文件,使用的是kwrite,但它不工作。
我是不是漏掉了什么?请帮帮我,这是我写的代码:
.....
def createreport(self):
text = self.textEdit_2.toPlainText()
copytext= (str('%s') %text)
name=Ui_Dialog.fileName
print Ui_Dialog.fileName
Ui_Dialog.fileName = QtGui.QFileDialog.getSaveFileName(self,'save result file', '/home/harisyam/Desktop/transfer')
file=open(Ui_Dialog.fileName,'w')
file.write(copytext)
file.close()
subprocess.Popen('kwrite '+Ui_Dialog.fileName ,shell=True)
同样的代码在我使用Python命令行时可以正常工作,那这里的问题是什么呢?
当我在我的图形界面代码中运行时,出现的错误是:a: k: 找不到命令。
1 个回答
3
这不是Python的字符串,而是QtCore.QString
。要解决这个问题,可以试着把它转换成Python的字符串。
subprocess.Popen('kwrite '+ str(Ui_Dialog.fileName), shell=True)