aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-06-12 11:05:27 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-06-13 11:49:11 +0000
commit4a295eea791ea619cbbf916822e147f1e16c2c23 (patch)
treecc9b65bde4c9e32d13e4a5a6ed9458ad3bbda555
parent90262ce770b878cd6bdb99d6ddcea785cec1f751 (diff)
scriptableapplication example: Pass script as a single string
Do not split and re-assemble the lines. Task-number: PYSIDE-2206 Change-Id: I95c19c142285a65e1b77b30c36c2f3c24560c91f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 538593a7d4e4f2a626f4c8ff52fd17dae10029be) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--examples/scriptableapplication/mainwindow.cpp13
-rw-r--r--examples/scriptableapplication/mainwindow.h2
-rw-r--r--examples/scriptableapplication/pythonutils.cpp10
-rw-r--r--examples/scriptableapplication/pythonutils.h2
4 files changed, 11 insertions, 16 deletions
diff --git a/examples/scriptableapplication/mainwindow.cpp b/examples/scriptableapplication/mainwindow.cpp
index a1aae3c40..26d80a7de 100644
--- a/examples/scriptableapplication/mainwindow.cpp
+++ b/examples/scriptableapplication/mainwindow.cpp
@@ -78,19 +78,20 @@ MainWindow::MainWindow()
void MainWindow::slotRunScript()
{
const QString text = m_scriptEdit->toPlainText().trimmed();
- const QStringList script = text.split(u'\n', Qt::SkipEmptyParts);
- if (!script.isEmpty())
- runScript(script);
+ if (!text.isEmpty())
+ runScript(text);
}
void MainWindow::slotPrintDiagnostics()
{
- const QStringList script = QStringList()
- << "import sys" << "print('Path=', sys.path)" << "print('Executable=', sys.executable)";
+ const QString script = R"P(import sys
+print('Path=', sys.path)
+print('Executable=', sys.executable)
+)P"_L1;
runScript(script);
}
-void MainWindow::runScript(const QStringList &script)
+void MainWindow::runScript(const QString &script)
{
if (!::PythonUtils::runScript(script))
statusBar()->showMessage(tr("Error running script"));
diff --git a/examples/scriptableapplication/mainwindow.h b/examples/scriptableapplication/mainwindow.h
index b7cafc3e6..476243f9b 100644
--- a/examples/scriptableapplication/mainwindow.h
+++ b/examples/scriptableapplication/mainwindow.h
@@ -21,7 +21,7 @@ private Q_SLOTS:
void slotPrintDiagnostics();
private:
- void runScript(const QStringList &);
+ void runScript(const QString &);
QPlainTextEdit *m_scriptEdit;
};
diff --git a/examples/scriptableapplication/pythonutils.cpp b/examples/scriptableapplication/pythonutils.cpp
index b167bb240..8104bb167 100644
--- a/examples/scriptableapplication/pythonutils.cpp
+++ b/examples/scriptableapplication/pythonutils.cpp
@@ -114,20 +114,14 @@ bool bindAppObject(const QString &moduleName, const QString &name,
return true;
}
-bool runScript(const QStringList &script)
+bool runScript(const QString &script)
{
if (init() == PythonUninitialized)
return false;
- // Concatenating all the lines
- QString content;
- QTextStream ss(&content);
- for (const QString &line: script)
- ss << line << "\n";
-
// Executing the whole script as one line
bool result = true;
- const QByteArray line = content.toUtf8();
+ const QByteArray line = script.toUtf8();
if (PyRun_SimpleString(line.constData()) == -1) {
if (PyErr_Occurred())
PyErr_Print();
diff --git a/examples/scriptableapplication/pythonutils.h b/examples/scriptableapplication/pythonutils.h
index 80698d234..7f05cdedb 100644
--- a/examples/scriptableapplication/pythonutils.h
+++ b/examples/scriptableapplication/pythonutils.h
@@ -27,7 +27,7 @@ State init();
bool bindAppObject(const QString &moduleName, const QString &name,
int index, QObject *o);
-bool runScript(const QStringList &script);
+bool runScript(const QString &script);
} // namespace PythonUtils