【发布时间】:2020-02-05 14:30:14
【问题描述】:
我使用 PyQt5 在 Python 3.8 中开发应用程序。
我需要运行并能够从 PyQT 表单中终止一个单独的进程。 当我使用 process.start 然后 process.kill 它会杀死进程。
但是当我使用process.startDetached() 时,process.kill() 不起作用。
下面是一个例子:
from form import Ui_MainWindow
from PyQt5 import QtWidgets
class myapp(QtWidgets.QMainWindow):
def __init__(self):
super(myapp, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.process = QProcess(self)
self.ui.pushButton.clicked.connect(self.btnClicked)
self.ui.pushButton_2.clicked.connect(self.process.kill)
def btnClicked(self):
runstr = 'ping'
args = ['localhost','-t']
self.process.startDetached(runstr, args)
app = QtWidgets.QApplication([])
application = myapp()
application.show()
sys.exit(app.exec())
您能否建议如何在分离模式下终止进程。
【问题讨论】:
-
请在示例中添加 import sys 并使用来自 github.com/VovaBobyr/PythonLearning/blob/master/BackgroundRun/… 的示例中的类 Ui_MainWindow
标签: python pyqt pyqt5 qprocess