Как отобразить вывод подпроцесса в PyQt5? - PullRequest
0 голосов
/ 01 марта 2020
def on3_click(self):
    subprocess.call('ip a',shell=True)

Здравствуйте, этот указатель clicked.connect позволяет мне распечатать IP-адрес рабочего стола с помощью команды ip a, но он будет распечатываться только в терминале. Как я могу отобразить вывод подпроцесса в QMessageBox или другом окне GUI?

1 Ответ

0 голосов
/ 01 марта 2020

Вы можете собрать выходные данные вызова подпроцесса в виде строки, а затем просто открыть 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)
...