Cleanup python script running

This commit is contained in:
Carl Philipp Klemm 2025-10-13 18:12:32 +02:00
parent 87db38b08e
commit 1eac3f6a83
7 changed files with 68 additions and 128 deletions

View file

@ -14,9 +14,9 @@ MainWindow::MainWindow(QWidget *parent):
ui(new Ui::MainWindow),
codeEditor(this),
pythonOutput(this),
pythonRunner(&pythonOutput),
currentFilePath(""),
isFileModified(false),
pythonRunner(nullptr)
isFileModified(false)
{
ui->setupUi(this);
enumerateDevices();
@ -52,9 +52,9 @@ MainWindow::MainWindow(QWidget *parent):
});
// Connect Run and Stop buttons
pythonRunner = new PythonRunner(&pythonOutput, this);
connect(ui->pushButtonRun, &QPushButton::clicked, this, &MainWindow::onPushButtonRunClicked);
connect(ui->pushButtonStop, &QPushButton::clicked, this, &MainWindow::onPushButtonStopClicked);
connect(ui->pushButtonRun, &QPushButton::clicked, this, &MainWindow::runScript);
connect(ui->pushButtonStop, &QPushButton::clicked, this, &MainWindow::stopScript);
connect(&pythonRunner, &PythonRunner::scriptFinished, this, &MainWindow::stopScript);
}
MainWindow::~MainWindow()
@ -232,17 +232,21 @@ void MainWindow::enumerateDevices()
generateExample();
}
void MainWindow::onPushButtonRunClicked() {
void MainWindow::runScript() {
QString scriptContent = codeEditor.toPlainText();
pythonRunner->runScript(scriptContent);
pythonRunner.runScript(scriptContent);
ui->pushButtonRun->setEnabled(false);
ui->pushButtonStop->setEnabled(true);
codeEditor.setEnabled(false);
ui->scrollArea->setEnabled(false);
}
void MainWindow::onPushButtonStopClicked() {
pythonRunner->stopScript();
void MainWindow::stopScript() {
pythonRunner.stopScript();
ui->pushButtonRun->setEnabled(true);
ui->pushButtonStop->setEnabled(false);
codeEditor.setEnabled(true);
ui->scrollArea->setEnabled(true);
}
void MainWindow::generateExample()