记录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. JavaScript异步调用的发展历程
  2. 好程序员大数据培训技术分享:Hadoop集群同步
  3. eclipse项目迁移到Android Studio
  4. 关于一次装机后的个人总结
  5. output怎么用_如何用 C++ 写一个可编程软件渲染器?
  6. java 匿名类实现6_java匿名内部类,以及实现Comparato和Comparable接口实现对对象的排序...
  7. windows server 2008配置之AD域服务器 2
  8. 千入坑坑之安装matlab,114错误,几种系统报错解决
  9. 2019 WordPress免费收费中文主题推荐 强迫症患者的救赎
  10. BAT自动校对时间脚本,让WINDOWS系统自动校对时间
  11. 利用WNMP部署woniunote
  12. html 通知页面,12款体验不错的网站提示/通知样式
  13. NAT基本原理与私有IP
  14. 计算机考研调剂心酸,考研,这一路走来、辛酸苦辣~百感交集~(转)
  15. 移动设备无线投屏到电视机
  16. 抖音爱心c语言程序,抖音上用记事本编写爱心小程序教程
  17. 公众号图文消息加html,微信公众号图文排版,如何给文章或者段落添加背景图?...
  18. 实现DevSecOps正确左移的宣言
  19. 好心情:长期服用抗抑郁药,怎么把肝损伤降到最低?
  20. react 使用 useEffect 及踩坑

热门文章

  1. rx.xxx 和 io.reactivex.xxx RxJava1 和 RxJava2 和 RxJava3
  2. 弘辽科技:优秀的淘宝详情页应包含哪些内容?
  3. 微前端 - qiankun
  4. 中望3D2022 参考几何体
  5. 川土微 数字隔离器 CA-IS3722HS可替代ADUM1201ARZ
  6. Java调用excel宏
  7. C语言中的函数与数组详解
  8. 使用apache log解决高并发下log4j引起大量线程block问题
  9. ASUS AC1900p 梅林固件编译 asuswrt-merlin
  10. 视频拼接软件哪个好用?这些软件媒体人都喜欢