记录python开发第一个app

  • word转HTML功能
  • Pyqt5图像化UI
  • 打包app
    • 1.安装py2app
    • 2.创建setup.py文件
    • 3.解决报错py2applet:command not found
    • 4.打包

word转HTML功能

    #转化HTMLdef createHTML(self):html = PyDocX.to_html(str(self.docx_path))# 过滤掉不支持的标签(安卓暂不支持style、script等) #html_remove = re.sub('\<style>.*?\</style>','',html)# 样式兼容 #html_style = BeautifulSoup(html_remove,'html.parser')# body边距及对齐方式html_style.find('body')['style'] = 'padding: 50px 30px;text-align: justify;'# 居中text_center =  html_style.select('.pydocx-center')for item in text_center:item['style'] = 'display:block;text-align:center;padding:20px 0px'# 局右text_right =  html_style.select('.pydocx-right')for item in text_right:item['style'] = 'display:block;text-align:right;'# 下划线text_underline = html_style.select('.pydocx-underline')for item in text_underline:item['style'] = 'text-decoration:underline;'# 创建HTML #html_path = 'index.html'f = open(html_path,'w',encoding='utf-8')f.write(str(html_style))f.close()# 转化完成路径html_path1 = os.path.abspath('index.html')self.lb2.adjustSize()self.lb2.setGeometry(QtCore.QRect(20, 140, 360, 100))self.lb2.setWordWrap(True)self.lb2.setAlignment(QtCore.Qt.AlignTop)self.lb2.setText('转化完成路径:'+html_path1)

Pyqt5图像化UI

    #初始化UIdef initUI(self):self.setGeometry(200,200,400,200)self.setWindowTitle('word转html')self.bt1 = QPushButton('选择文件',self)self.bt1.move(10,20)self.lb1 = QLabel('上传文件路径:',self)self.lb1.move(20,60)self.lb1.setObjectName("lb1")self.bt2 = QPushButton('立即转换',self)self.bt2.move(10,100)self.lb2 = QLabel('转化完成路径:',self)self.lb2.move(20,140)self.lb2.setObjectName("lb2")self.show()self.bt1.clicked.connect(self.showFile)self.bt2.clicked.connect(self.createHTML)#选择文件def showFile(self):file = QFileDialog.getOpenFileName(None,  "选取文件","./", "All Files (*);;Text Files (*.txt)")[0] self.lb1.adjustSize()self.lb1.setGeometry(QtCore.QRect(20, 60, 360, 100))self.lb1.setWordWrap(True)self.lb1.setAlignment(QtCore.Qt.AlignTop)self.lb1.setText('上传文件路径:'+file)self.docx_path = file

打包app

开发其实没什么难度,因为本身python支持的库很多,这里用的打包工具是py2app

1.安装py2app

pip install py2app

2.创建setup.py文件

首先进入工程目录:cd 项目路径

py2applet --macke-setup demo.py#自己的打包文件

注:报错:py2applet:command not found

3.解决报错py2applet:command not found

#首先查找py2applet路径
sudo find / -name "py2applet" -type f
#本机路径为
/System/Volumes/Data/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/bin/py2applet
#继续生成setup.py
/System/Volumes/Data/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/bin/py2applet --macke-setup demo.py

4.打包

python3 setup.py py2app --site-packages

提示这一坨的时候,恭喜你打包完成!!!

下边是对应的包及演示:


记录python开发第一个app,实现word转html的桌面应用相关推荐

  1. 安卓开发由一个APP拉起另一个APP的方法总结

    安卓开发由一个APP拉起另一个APP的方法总结 最近公司在对接第三方应用的时候有两个需求:1.要由我们的客户端拉起第三方的客户端,并且传值.2.要让第三方客户端能够拉起我们的客户端,并可以根据传递过来 ...

  2. Android Studio下载、安装、配置及连接真机开发第一个App ——入门选手快进

      最近的安卓测试给我心态搞蹦了,问也没人问,难受简直了!又是一轮自学之路(说实话这一路上教会我一个很大的道理就是一定要有愿意帮助你的老师,还有自己的自觉,一样也不能少.前者没有的话只能后者补了呜呜呜 ...

  3. 用Python开发了一个进销存管理的小软件

    研究生毕业之后,就进入国企工作,工作内容偏产品和售前,几乎没写过代码了,有个朋友是开游泳馆的,也会有少量商品的售卖,问我能不能给她开发一个小软件,记录商品的入库出库,统计下金额,恰好工作中今年也用到了 ...

  4. 如何用python做一个会聊天的女朋友_戏精程序员,用python开发了一个女朋友,天天秀恩爱...

    很多人都知道,程序员大部分都是单身狗,然而,无奈Python实在太强大,居然可以用来开发一个女朋友出来. 其实,这个女朋友类似很多视频中,那些假装自己有女朋友或男朋友的人一样,也是在假装哦,但是程序员 ...

  5. android快速开发一个app,如何高效率开发Android一个APP?

    我猜想题主是想开发一款APP来练练手,但有些开源库,框架之类不是很熟悉.刚好前几天在知乎回答过类似的问题,这里再补充下 网络模块 事件总线 依赖注入 图片模块 数据库模块 响应式编程 日志输出 测试相 ...

  6. 老总让做后台接口监控,我却开发了一个App

    最近投入到了一个新的项目中,是一个新的Android项目,项目涉及到智能聊天相关的功能,所以需要一个很好的接入层,总之肯定不能用通用的http协议来聊天. 手Q.微信等聊天软件,都会实现自己的一套协议 ...

  7. Python开发——做一个简单的【表白墙】网站

    前言 大家早好.午好.晚好吖 ❤ ~ 今天我们要用Python做Web开发,做一个简单的[表白墙]网站. 众所周知表白墙的功能普遍更多的是发布找人,失物招领, 还是一个大家可以跟自己喜欢的人公开表白的 ...

  8. 记录 android 开发的一个 面试 问题

    前序: 3天前,有幸得到师兄赏识,和他一起去帮一间珠海的本地的IT公司担任面试官,虽说如此,我自己本身就还没毕业,充其量是去见识下世面罢了.当天共面试了13人,这只是上午,下午我闪了.在笔试的部分,我 ...

  9. python获取键盘输入能不能不按回车键_Github获8300星!用Python开发的一个命令行的网易云音乐...

    最近在逛Github发现了一个非常有趣的库musicbox,是用纯Python打造的,收获了8300颗星.Python语言简单易学,好玩有趣,身边越来越多的小伙伴都开始学习Python.她的魅力非常大 ...

最新文章

  1. MySQL第一篇 (linux ubuntu平台 学习《MySQL技术内幕》总结)
  2. 【Groovy】Groovy 方法调用 ( 使用 对象名.成员名 访问 Groovy 类的成员 | 使用 对象名.‘成员名‘ 访问类的成员 | 使用 对象名[‘成员名‘] 访问类成员 )
  3. Solr Zookeeper ACL权限配置
  4. Entity Framework Core 1.1 升级通告
  5. Edittext不可编辑可点击,输入密码可见与不可见,验证码换格输入实现方法,车牌号自定义输入键盘
  6. Lync2013 升级错误总结2 Lync2013 PC和手机客户端登录无法验证
  7. Java基础语法之方法的参数传递与综合案例
  8. 如何修改zblog的css,修改Zblog中的CSS的方法
  9. 网络舆情监测TOOM
  10. 一维卷积神经网络原理,卷积神经网络原理简述
  11. 给div元素设置背景颜色
  12. 微纳加工技术_工艺模块_STI 浅槽隔离
  13. 在html中加入网址,网页超链接怎么做,添加超链接网址的的详细步骤
  14. open wrt 跟换主题_openwrt 更改默认主题
  15. 生物基础知识---CDS,基因,Matlab生物信息工具箱
  16. 记录一次mongoDB错误 errmsg: cannot use the part () to traverse the element
  17. shiro最简洁的权限管理(菜单)控制
  18. taishan服务器修改为u盘启动,bios改成u盘启动
  19. LambdaMART原理浅析
  20. 数据库分区概念及简单运用

热门文章

  1. 廖金菊——湖南高尔夫旅游职业学院文化社诗人
  2. 中标麒麟5.0安装(内含安装包)-小白手把手史上最全教程!
  3. win10 悬浮日历_Win10日历隐藏功能:可直接打印空白月历
  4. 小程序源码:头像挂件工坊DIY工具
  5. 2017、2018年中国大数据发展趋势和展望解读
  6. 苹果手机互传一键换机
  7. OpenNURBS 3DM Viewer
  8. MYSQL笔试题(考试题)附带答案
  9. Binder源码阅读指南之java层,作为Android开发程序员
  10. http请求判断网络状态