包装一下前面的markdown 转换html引擎

上面就是截图了,很多功能还没有实现,目前只是个demo,比如左右同步滚动(同步比较复杂,因为左右是不等高的,也没有明显的比例关系)、左边的文本编辑器功能很弱(只是Qt内置的plaintext控件)、不漂亮(超出能力范围了,不过搞个背景和透明已经觉得很不错了。。)……

主要有几点比较重要,值得记录一下:

1. python文件的打包,使用cxfreeze进行打包,安装和打包都十分简单,pycharm里面可以自动生成打包需要的setup.py,只要在cxfreeze对应目录下命令行运行一下就可以生成exe和dll等。

2. 之前的python程序是接受人工输入,我们要和Qt整合在一起的时候,需要转换为命令行参数的形式,当然这个很简单,

3. Qt 中QProcess可以调用外部程序并且可以给它命令行参数,用这个来调用之前编译好的转换引擎。

4. Qt 中的逻辑是:1. 获取左边文本框的输入文本;2. 按下make键后将左边的文本写到所在目录下的temp.md 文件中,同时调用转换引擎生成temp.html文件;3. 按下preview键后读取temp.html文件信息,显示到右侧的QWebView空间中去;

5. qrc 文件的使用,将图片啊什么的放进去,可以在程序中调用。

这个程序十分短小,.cpp和.h 一共也就150行吧,还没有转换引擎中的python代码行数多呢~~~

因为程序逻辑上十分简单,主要的解析工作已经用python完成,所以Qt就是包装一下喽,大概就是先用QtDesigner 把控件都托好,然后layout,clear的槽可以之间顺便搞定,

之后只需要在程序中编写类的构造函数来初始化以及编写两个槽函数make 和 preview即可,之后就是美化之类的了。。。。

在Qt Designer的使用中,深深发现了自己对于美的感受和控制的低下。。。调个字体颜色和背景都要好半天,选背景更是。。。最后想起来ubuntu下面的终端透明配上它自带的某个space风格的桌面还不错的样子,才终于如释重负。。。

效果也就一般般,不过自己都觉得一般般的时候,一般就是。。。丑爆了!

时间: 2024-08-25 04:31:04

包装一下前面的markdown 转换html引擎的相关文章

Oracle取月份-不带前面的0

出处:http://www.2cto.com/database/201208/145611.html 今天碰到只要取月份和天数,如果月份前面有0要去掉0.比如说2010-01-08 ,需要的结果是1-8. 引出了一系列的sql语句 第一: 利用to_number的函数转换自动截0 select to_number(to_char(sysdate,'mm'))||'-'||to_number(to_char(sysdate,'dd')) from dual; 第二: 利用ltrim函数加固定参数去

Mysql MyISAM数据库批量转换表引擎为Innodb

Mysql MyISAM数据库批量转换表引擎为Innodb 最近在做事物处理需要把表结构都改为带有支持事物的Innodb引擎格式, 把里面数据库 用户名.密码 等信息修改为你自己的,放在网站下运行即可.如果想把Innodb改为MyISAM修改里面的  engine='InnoDB'  部分代码. <?php /** * User: Yt * Date: 2016/2/25 0025 */ //连接数据库 $host='localhost'; $user='root'; //数据库用户名 $pas

python2不打印 List & Dict 元素前面的u

假如我们有这样一个json {"key1": [1, 2, 3, "a", "b"], "key0": "str"} 执行如下的语句 import json map = json.loads(open('print.json').read())  print map 打印出的结果前面会带有u : {u'key1': [1, 2, 3, u'a', u'b'], u'key0': u'str'} 那么可以这样

javascript中去掉字符串前面的0

var str = "00012300325300"; str = str.replace(/\b(0+)/gi,""); // 去掉字符串前面的0 document.write("str=" + str + "</br>"); 上面代码中replace的正则表达式就是去掉字符串前面的0 javascript中去掉字符串前面的0,布布扣,bubuko.com

Haskell ghci中调用pandoc的API进行markdown转换

所用环境:Windows Server 2008 + ghc 7.6.3(Haskell Platform 2013.2.0.0自带的) + pandoc 1.12.4 操作步骤: 1. 安装Haskell Platform,下载地址:http://www.haskell.org/platform/. 2. 安装pandoc,安装命令:cabal install pandoc 3. 在命令行中运行ghci 4. 引用pandoc的相应模块,在Prelude命令提示符中运行: :module Te

包装印前编辑器 PackEdge v14.0 &amp; Plato v14.0-ISO 1DVD

包装印前编辑器 PackEdge v14.0 & Plato v14.0-ISO 1DVDPackEdge包装世纪是一款全功能的的包装印前编辑器,拥有独特的技术和专用工具,专用于解决您的主要印前“麻烦”,例如CAD/图形未对齐.陷印.扭曲.加网.条形码等. 如果想大幅降低错误成本,提高基于PC的印前部门的效率,PackEdge就是您的理想选择. ■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□ + 诚信合作,保证质量!!!长期有效: + 电话TEL:18980583122

从function前面的!想到的

最近没事喜欢看看,一些js库的源码,结果发现库前不是加一个!就是加+或者一个(),心中猜出个大概知道这个是让函数自动执行,可是这么多符号达到同一个目的,原理是什么呢,下面做一下剖析: 先从IIFE开始介绍 IIFE(Imdiately Invoked Function Expression 立即执行的函数表达式) function(){ alert('IIFE'); } 把这个代码放在console中执行会报错 因为这个是一个匿名函数,要想让它正常运行就必须给个函数名,然后通过函数名调用. 好了

Oracle中绝对值小于1的小数如何显示小数点前面的0

在oracle 中 如果是绝对值小于1的小数,则只会显示小数点后面的值,小数点前面的0就会被忽略掉,例如: 0.1  在oracle中会被显示为 .1 如何解决此类问题: x=0.2 TO_CHAR('fm9999990.9999',x) 输出值为 0.2 但是现在出现了一个问题,如果是x=10,那么跟显示就会为10. ,在后面会多一个小数点,这样很不好看,怎么才能显示实际的输入,在网上找了ORACLE 的另外一个字符处理函数rtrim,所以现在这些按照如下的更改即可: x =10 RTRIM(

方法返回值 前面的&lt;T&gt;是什么?

如: public <T> ValueOperations<String,T> setCacheObject(String key,T value){                return null;            } 这个的T的声明,跟类后面的<T>没有关系.方法前面的<T>可以理解为是:给这个方法指定泛型,可以是自己独有的某个类都可以执行这个方法. 下边是找到的一个非常好的帖子: import java.util.*; class Frui