##// END OF EJS Templates
Removed hack from QCustomPlot, moved to QCustomPlotVect class.
Removed hack from QCustomPlot, moved to QCustomPlotVect class.

File last commit:

r5:92e4585e8fab default
r7:6e23aedd1ca8 default
Show More
pythonconsole.cpp
89 lines | 2.3 KiB | text/x-c | CppLexer
#include "pythonconsole.h"
#include <QPushButton>
#include <QFile>
#include <QTextStream>
#include <QCustomPlot/qcustomplot.h>
#include <PythonQt.h>
#include <qlop.h>
//void PythonQt_init_PySocExplorer(PyObject* module);
//void PythonQt_init_PySocExplorerEngine(PyObject* module) ;
void PythonQt_init_PyQLop(PyObject* module);
PythonConsole::PythonConsole(QWidget *parent) :
QWidget(parent)
{
//PythonQt::init();
PythonQt::init(PythonQt::RedirectStdOut);
PythonQt_QtAll::init();
this->mainlayout = new QHBoxLayout;
this->mainContext = new PythonQtObjectPtr(PythonQt::self()->getMainModule());
this->mainContext->addVariable(QString("PYMODULES"),QVariant(QString(PYMODULES)));
this->console = new PythonQtScriptingConsoleDandD(NULL, PythonQt::self()->getMainModule());
this->mainlayout->addWidget(this->console);
this->setWindowTitle(tr("Python Scripting Console"));
this->setAcceptDrops(true);
this->setLayout(this->mainlayout);
connect(this->console,SIGNAL(pyConsoleRunFiles(QStringList)),this,SLOT(pyConsoleRunFiles(QStringList)));
// PythonQt_init_PySocExplorer(0);
// PythonQt_init_PySocExplorerEngine(0);
PythonQt_init_PyQLop(0);
this->mainContext->evalScript(QString("from PythonQt import *"));
}
void PythonConsole::addObject(const QString& name, QObject* object)
{
this->mainContext->addObject(name, object);
}
void PythonConsole::removeVariable(const QString& name)
{
this->mainContext->removeVariable(name);
}
void PythonConsole::registerObject(QObject* object,const QString& instanceName)
{
this->mainContext->addObject(instanceName,object);
}
void PythonConsole::pyConsoleRunFiles(const QStringList & pathList)
{
for (int i = 0; i < pathList.size() && i < 32; ++i)
{
this->pyConsoleRunFile(pathList.at(i));
}
}
void PythonConsole::pyConsoleRunFile(const QString& fileName)
{
QString code;
QFile file;
QFileInfo fileinfo;
code.clear();
file.setFileName(fileName);
fileinfo.setFile(fileName);
if(!fileinfo.suffix().compare("py"))
{
QString CMD="execfile(\'"+fileName+"\')";
this->console->executePythonCommand(CMD);
}
}
QSize PythonConsole::sizeHint()
{
return QSize(800,80);
}