Code: Alles auswählen
from PyQt5.QtWidgets import QPlainTextEdit, QTabWidget, QWidget, QPushButton, QApplication
from PyQt5.QtCore import QProcess
import subprocess
import sys
class GameOutputTab(QPlainTextEdit):
    def dataReady(self):
        cursor = self.textCursor()
        cursor.movePosition(cursor.End)
        cursor.insertText(bytes(self.process.readAll()).decode(encoding=sys.stdout.encoding,errors="replace"))
        self.ensureCursorVisible()
    def executeCommand(self):
        self.setReadOnly(True)
        self.process = QProcess(self)
        self.process.readyRead.connect(self.dataReady)
        self.process.start("ping",["example.com"])
class TabWindow(QTabWidget):
    def setup(self):
        widget = QWidget()
        button = QPushButton("Klick mich!",widget)
        button.clicked.connect(self.runGame)
        self.addTab(widget,"General")
        self.show()
    def runGame(self):
        output = GameOutputTab()
        tabid = self.addTab(output,"Output")
        self.setCurrentIndex(tabid)
        output.executeCommand()
app = QApplication(sys.argv)
tabs = TabWindow()
tabs.setup()
sys.exit(app.exec_())
