如何使用QProcess调用其它程序或脚本
发布网友
发布时间:2022-04-15 04:34
我来回答
共2个回答
懂视网
时间:2022-04-15 08:55
mysqlpyqtpython数据库
我在写一个程序,获取了用户输入的数据库用户名和密码,并用QProcess.start()执行:
p = QtCore.QProcess(self)
p.setProcessChannelMode(QtCore.QProcess.ForwardedChannels)
p.start("mysql",["-uroot","-pyourpassword"])
那我该怎么通过返回值或其他方法判断密码是否正确?
热心网友
时间:2022-04-15 06:03
首先是要include相关的头文件,这是必不可少的,否则编译时会报错。
在使用外部shell或者程序前判断该文件是否存在,如下图所示。然后才new一个QProcess来调用该文件。
启动时可以使用start这个函数,第一个参数就是你的可执行程序或者shell脚本,第二个是你要传递的参数。
要判断程序是否启动可以使用waitForStarted()这个函数,只有在程序启动后才往下执行。
下图中的代码主要是等待调用的程序或者shell脚本结束,在判断结束后可以使用exitCode查看它返回的代码值,通过这个来判断执行结果。
最后提醒一下不要忘了资源的释放,相信大家都不会放这样的错误吧。
这里要说明一点的是,在调用的程序或者shell脚本结束时,会有一个finish()信号发出的,如果你要用上的需要connect一下,如下图所示。