我正在使用PyQt4创建一个GUI,并希望它在按下按钮时调用另一个python文件。
这是GUI文件的形式:gui.py
# record push button
self.pbRec = QtGui.QPushButton("Record", self)
self.pbRec.setGeometry(QtCore.QRect(160, 210, 113, 32))
self.pbRec.clicked.connect(self.recordSetUp)
def recordSetUp(self):
self.genericThread = GenericThread(self.record)
self.genericThread.start()
# disable button after click
self.pbRec.setEnabled(False)
def record(self):
print 'initiating record.py'
currentPath = os.curdir
filePath = currentPath + '/lib/record.py'
os.system('python ' + filePath)
print 'record.py finished'
# re enable button
self.pbRec.setEnabled(True)
record.py所做的是从外部连接的相机设备捕获图像,直到用户按下回车键。
以下是record.py的结束方式
# Keep this process running until Enter is pressed
print "Press Enter to quit..."
try:
sys.stdin.readline()
except KeyboardInterrupt:
pass
finally:
controller.removeDevice(device)
这一切都运行正常,当我按下记录按钮时,它会加载record.py,然后按回车键进入终点。
但我无法从我的GUI按Enter键以使record.py停止。
有办法做到这一点吗?所以当我从gui调用外部文件时,我可以从gui而不是终端与它进行交互?
提前致谢。