Bootstrap

python+tkinter+markdown实现markdown编辑器(tkinter实践)

python实现markdown编辑器

材料

  • python3(实例为python3.8.5)
  • markdown库
  • IDE:VScode(最强不用说)
  • tkinter(绝大多数python自带)

安装库

pip imstall markdown

其余使用tkinter主要因为只会tkinter,wx和pyqt5不会用

什么!你没有tkinter!没关系,我的ubuntu也没有。。。

sudo apt-get install python3-tkinter

为什么?你也不看看pip能不能用(pip无法下载自带库)

这样基本的库就有了,请注意,这里还要引入os库,并且不需要在脚本里引入我们的markdown库。

简单测试

新建一个test.md文件,打开终端

markdown_py test.md >> test.html

如果得到一个html文件即可,一定要确保这个可以用

进度清单

  • 实现一个基本的写字板
  • 实现新建,保存和加载文件(主要用 三个函数)
  • 实现markdown导出为html
  • 完善功能(语法提示)

1.实现基本的写字板

import tkinter
from tkinter import *
app = Tk()
app.title('Markdown')
text = ScrolledText(
                    font=("Britannic Bold",12),)
text.pack(side=BOTTOM, expand=True, fill=BOTH)
app.mainloop()

emmm好了

2.那三个函数

def load():
    global filename
    filename = filedialog.askopenfilename(title='打开')
    with open(filename,encoding='utf-8') as file:
        text.delete('1.0', END)
        t = file.read()
        text.insert(INSERT, t)
        return filename
def add():
    global filename
    filename = tkinter.filedialog.asksaveasfilename(title='新建')
    with open(filename,'w+',encoding='utf-8') as file:
        text.delete('1.0', END)
        t = file.read()
        text.insert(INSERT, t)
        return filename
def save():
    global filename
    with open(filename, 'w',encoding='utf-8') as file:
        file.write(text.get('1.0', END))

然后基本ok,但你光有了函数不调用。。。
没错,用tkinter见一个menu来提供函数的调用

import os
from tkinter.scrolledtext import ScrolledText
import tkinter
from tkinter import *
from tkinter import filedialog
app = Tk()
app.title('Markdown')
text = ScrolledText(
                    font=("Britannic Bold",12),)
text.pack(side=BOTTOM, expand=True, fill=BOTH)

;