标签: python python-2.7 pyqt pyqt4 qprocess
PyQt4应用在ping中运行QProcess。名为QTextEdit的{{1}}将输出self.output的所有内容。名为ping的第二个QTextEdit只会在包含字符串self.summary的情况下输出该行。
ping
QProcess
QTextEdit
self.output
self.summary
问题:我设法让TTL工作但self.output无效,因为我不确定如何在self.summary函数中编写代码。有什么想法吗?
TTL
dataReady
答案 0 :(得分:1)
您可能遇到的一个问题是,QProcess的每个输出可能有几行,即包含"\n",以便我们将它分开,然后我们进行搜索:
"\n"
for line in processStdout.split("\n"): if "TTL" in line: cursorSummary.insertText(line+"\n")
在您的初始代码中,您将获得带有for循环的每个字符,这会生成错误。
注意:在linux中,我必须按单词ttl进行过滤。除了将QProcess更改为:self.process.start('ping', ['-c', '3', '127.0.0.1'])
ttl
self.process.start('ping', ['-c', '3', '127.0.0.1'])