如何在PyQt5中显示子过程输出?

问题描述 投票:0回答:1
def on3_click(self):
    subprocess.call('ip a',shell=True)

你好,这个clicked.connect指针允许我使用ip a命令打印出我的桌面ip地址,但是它只会在终端中打印出来。如何在QMessageBox或其他GUI窗口中显示子流程的输出?

ubuntu subprocess pyqt5
1个回答
0
投票

您可以将子流程调用的输出收集为字符串,然后打开QMessageBox。

class Template(QWidget):

    def __init__(self):
        super().__init__()
        btn = QPushButton('Button', self)
        btn.clicked.connect(self.on3_click)

    def on3_click(self):
        ip = str(subprocess.call('ip a', shell=True))
        QMessageBox.information(self, 'Info', ip)
© www.soinside.com 2019 - 2024. All rights reserved.