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