用Python实现文档小助手时遇到的问题汇总

  • 使用html2.WebView控件呈现页面时,效果不理想,是因为WebView默认使用电脑上安装的浏览器内核,Windows中是IE,而IE默认的是IE7,需要修改注册表的值来让Python使用更高版本IE渲染
  • WebView中的input文本框输入内容后源码中看不到,导致无法保存已有数据的html文件。一直找不到原因,网上搜索后发现input的value属性时用来设置默认值的,不能用来获取输入的值,那么如何在源文档中获取input输入的内容呢?好像没有解决方法,只好使用textarea,因为该控件的内容是嵌入在标签内的,可以直接获取。
  • bootstrap布局和样式方面,因为网上html转md或者md转html都是针对静态页面,对于文本框,按钮和文本区域等交互控件无法转换,所以需要自己再做一些转换,将交互控件转换为静态文本。bootstrap的栅格布局有时候无法很好的使用,经过尝试后发现对form-group,form-inline和input-group组合使用基本可以实现控件显示在同一行,一行盛不下时自动换行的效果,但样子不太好看,最好的方法还是根据实际需要覆盖部分bootstrap的默认显示效果,可以通过在控件上设置style属性实现。问题已经初步解决,使用了bootstrap4的css,bs4比bs3要多一些样式而且更加灵活,bs4中的使用form-group d-flex类包裹text-nowrap可以实现控件在同一行,而且占满一行。
  • PyCharm重构代码时修改代码位置,从另一个文件拷贝代码到当前文件,发生缩进报错。之前的代码用的是tab缩进(缩进比较方便,用空格得按无数次),但拷贝的当前文件后缩进就有了问题,几百行代码不会要我一行一行重新排版吧。。。所以网上搜索,但答案基本上都是说调整设置里的缩进格式,不过对于已有代码怎么统一处理缩进问题没有明确的答案,所以只好根据其中一个网友的多行同时缩进(选中多行代码后用Tab大法)来试试,将整体代码左移右移后居然没问题了。
  • ImportError: cannot import name ‘TemplateModel’。这个是因为重构代码后发生了循环引用,处理掉循环引用就没问题了。
  • StyledTextCtrl用法实例(http://www.flamerobin.org/dokuwiki/doku.php?id=wiki:stc)
  • json.load()和load()无法处理json文件中的注释,如果包含注释,读取会失败,解决方法是将json文件读取出来后进行预处理,去掉注释,然后再调用json.loads方法。如果注释都是单行注释,或者由单行注释组成的多行注释,那么方法很简单,f.readlines()后对每行进行判断,只保留没有注释的行即可。
  • 导入markdown.extention后打包为exe文件无法找到扩展,根据官方文档这句话:The preferred method is to pass in an instance of an extension. Strings should only be used when it is impossible to import the Extension Class directly (from the command line or in a template).我们应该在使用是传入一个实例,而不是字符串entrypoint. 另外,因为extra中也使用了entry point格式的扩展,所以需要在自己的程序中用实例列表覆盖extra.extention这个列表。

目前先总结这几个问题吧,以后有时间再补充其他问题(这样说很容易半途而废。。。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值