代码编辑器采用了monacoEditor,一个现成的编辑器。网上有很多文档介绍和开源项目,但是怎么说呢,跟着做,可以实现一个网页编辑器,可以高亮python的语法,但是没有python的提示,找不到可以参考的,js我也不会,看的着实云里雾里。
目前我对实现一个python代码编辑器的理解是这样的:先搞一个前端的代码编辑器html,然后在你的工程里显示html。但是编辑器里的代码怎么运行,我还没有头绪。
目前的进度就是前端可以生成一个网页,可以写python代码,有高亮,但是没有python提示。
下一步的计划是显示网页,尝试了几个不同的方法。
qt的QWebEngineView类
qt有一个类,QWebEngineView可以用来显示html,具体用法就是用load函数,传入html的路径。
MonacoEditor w;QWebEngineView view(&w);QString path = QApplication::applicationDirPath() + "/dist/index.html";view.load(QUrl(path));w.setCentralWidget(&view);w.show();
python的flask
flask是python的一个Web 框架。就网上教程来看,好像也挺简单。
from flask import Flask,render_template
app=Flask(__name__) #实例化并命名为app实例
#启动这个WEB服务
@app.route('/')
def index():msg = "hello world"#在文件目录下创建Templates文件夹,里面新建index.htmlreturn render_template("index.html",data = msg) # 加入变量传递 if __name__=="__main__":app.run(port=2020,host="127.0.0.1",debug=True)
go的net/http
这个还没开始,马上就去试试。