Run user script in venv and install eismultiplexer

This commit is contained in:
Carl Philipp Klemm 2025-10-14 13:52:55 +02:00
parent 4c2a4790c0
commit b5bd510f59
4 changed files with 155 additions and 3 deletions

View file

@ -53,6 +53,12 @@ MainWindow::MainWindow(QWidget *parent):
connect(ui->pushButtonRun, &QPushButton::clicked, this, &MainWindow::runScript);
connect(ui->pushButtonStop, &QPushButton::clicked, this, &MainWindow::stopScript);
connect(&pythonRunner, &PythonRunner::scriptFinished, this, &MainWindow::stopScript);
connect(&pythonRunner, &PythonRunner::venvSetupProgress, this, &MainWindow::onVenvSetupProgress);
// Disable run button until venv is ready
ui->pushButtonRun->setEnabled(false);
ui->statusbar->showMessage("Setting up Python environment...");
enumerateDevices();
generateExample();
}
@ -290,6 +296,18 @@ void MainWindow::disconnectDevices()
multiplexers.clear();
}
void MainWindow::onVenvSetupProgress(const QString& message) {
ui->statusbar->showMessage(message);
if (message.contains("completed successfully", Qt::CaseInsensitive) ||
message.contains("already exists", Qt::CaseInsensitive)) {
ui->pushButtonRun->setEnabled(true);
ui->statusbar->showMessage("Ready");
} else if (message.contains("failed", Qt::CaseInsensitive)) {
ui->pushButtonRun->setEnabled(false);
ui->statusbar->showMessage("Error: Python environment setup failed. Please check the output.");
}
}
void MainWindow::generateExample()
{
QString example =