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_())