点击上方蓝字,一起在代码的世界遨游

135编辑器

好久没更新了,因为最近学校这边事情有点多。不过这两天还是花了点时间,陆陆续续将代码和这篇文章写出来。写这个例子其实是最近需要用到几次word转为pdf格式,然后突发奇想,然后尝试用python实现一下。我们先来看一下实现效果。

接下来来看一下怎么实现

安装配置


在 python做一个翻译小软件 这篇文章中,界面我们用的是tk模块。但本例子用的是pyqt5这个模块,因为个人这个做出来的界面会比tk模块漂亮。然后界面是使用Qt Designer来布局的。这个我们通过托拽来布局成我们想要的,然后就可以自动生成代码,很方便。

我们首先通过以下代码安装pyqt5和Qt Designer

pip install pyqt5-tools

然后我们打开pycharm,进行QT Designer配置  这个tool是图形化界面的gui ,可以手动拖拽控件  生成.ui文件。

打开设置界面 File--setting--tool----external tools 然后点击加号

在这边我们如上红线这三个。

  • program:pyqt5-tools的路径,这个要配到到 designer.exe这个文件。这个文件要到你电脑python安装目录下的Lib\sitepackages\pyqt5_tools\Qt\bin这个目录去找

  • working directory:配置$ProjectFileDir$就行。

之后配pyUIc ,这个是用来将.ui文件转换为.py文件的。

  • program:你电脑的python路径

  • Arguments:

-m PyQt5.uic.pyuic  $FileName$ -o $FileNameWithoutExtension$.py

  • working directory:$ProjectFileDir$

然后大家右键 external tools点击Qt Designer就可以进行设计界面了,如下图,这是我设计好的布局,虽然很丑。

之后保存后会生成ui文件,我们将它放到pycharm中,右键 external tools点击pyUIc就可以将它转为py文件了。是不是很方便。

代码实现


首先看一下生成的ui_form这个类的代码,这个就是自动生成的代码

可以看出主要就是对位置,宽高的设置。对了,这个ui代码在生成后,我是有改过的,因为有些组件布局上没有对齐。

之后看event这个类,这个是主要对组件的事件处理。这个类继承了ui_form这个类,之后才能调用其中的组件。

这里看下pyqt5怎么实现选择文件或目录的对话框的。

可以看出,pyqt5帮我们封装好了,我们只要调用getOpenFileName和getExistingDirectory两个方法就行了。其中 getOpenFileName这个方法可以指定文件的类型,这里我们设置为doc和docx。os.getcwd()表示获得当前目录的路径。

因为我们有做了单文件转换和批量转换,这意味着我们选单文件是只能指定文件,批量的只能指定目录。所以我们会进行判断,然后调用上述两个方法

之后我们来看一下word转为pdf的代码,这个才是核心代码。这里用了win32com这个模块,请自行安装。

首先传入两个参数,就是用户选的word的路径和保存路径。然后去判断传入的word路径是目录还是文件,如果是目录,就要去循环判断里面是否有word文档,有的话就转为pdf,否则跳过。是文件的话就直接转化。

看下转化的代码,FileFormat是指定转为什么文件格式的参数。

这个signal方法是对事件的监听,也就是那些按钮,下拉框的点击,改变。

大概就讲这些吧。。。

打包为exe


这个在之前的文章有讲过,这里在说下。

首先需要安装 pyinstaller 模块。然后可以在任意目录建个文件夹(如桌面),将写好的python文件放进去。之后在cmd窗口中输入如下打包命令。

pyinstaller -F -p C:\Users\zhang\AppData\Local\Programs\Python\Python36\Lib main.py -w

记得程序入口文件必须在项目根目录,要不貌似无法正常找到项目需求的模块什么的。

最后,后台回复“wp”即可获得本文的所有代码文件,祝大家工作顺利。记得点在看哦!!

END

往期精彩回顾python预测淘宝双十一销售额,看看数据的真实性python做一个翻译小软件python爬取知乎妹子图python爬取b站《爱情公寓5》弹幕python实现点阵字体长按关注我就知道你“在看”

python 3.8.5 打包_python做个word转pdf的小软件相关推荐

  1. python将txt转为字符串_python做第一只小爬虫

    "受尽苦难而不厌,此乃修罗之路" 本文技术含量过低,请谨慎观看 之前用R语言的Rcurl包做过爬虫,给自己的第一感觉是比较费劲,看着看着发际线就愈加亮眼,最后果断丢之.不过好的是和 ...

  2. python合并视频和音频_Python做图像处理及视频音频文件分离和合成功能

    一.简介 Imageio是一个Python库,提供了一个简单的界面来读取和写入各种图像数据,包括动画图像,视频,体积数据和科学格式.它是跨平台的,运行在Python 2.7和3.4+上,易于安装. 作 ...

  3. python后端需要什么基础_python做后端好吗

    Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法 ...

  4. python蓝牙上位机开发_python做上位机 - osc_2frv0wjp的个人空间 - OSCHINA - 中文开源技术交流社区...

    参考文章: https://blog.csdn.net/dgut_guangdian/article/details/78391270 https://www.cnblogs.com/lanceyu/ ...

  5. python计算复数的辐角_python做傅里叶变换

    傅里叶变换(fft) 法国科学家傅里叶提出,任何一条周期曲线,无论多么跳跃或不规则,都能表示成一组光滑正弦曲线叠加之和.傅里叶变换即是把一条不规则的曲线拆解成一组光滑正弦曲线的过程. 傅里叶变换的目的 ...

  6. python读取数据校验数据_python做本地数据与数据库的校验

    #coding=utf-8 from pymongo importMongoClient#连接mongo数据库 env ={'dev': {'mongodb_host': 'mongodb://账号: ...

  7. python如何对接api接口_Python做Web API对接---查看接口

    3:Cookies(用户验证,基于HTTP协议的)之前的文章已经说了如何通过API登录验证,这里就不多说了,需要看的话,点击链接查看即可:https://club.kingdee.com/forum. ...

  8. python计算最大回撤_Python做量化投资评价策略风险 如何计算最大回撤?

    2021年FRM主要时间节点 2020年12月 第一阶段报名时间:2020/12/01 - 2021/01/31 首次注册:$1000 USD / 非首次注册:$590 USD 2021年02月 第二 ...

  9. python读取excel写入数据库_python实现读取excel写入mysql的小工具详解

    Python是数据分析的强大利器 利用Python做数据分析,第一步就是学习如何读取日常工作中产生各种excel报表并存入数据中,方便后续数据处理. 这里向大家分享python如何读取excel,并使 ...

最新文章

  1. 漫画:什么是 HTTPS 协议?
  2. 20130710--代码技巧
  3. gulp前端自动化工具的快速入门案例
  4. java获取eureka_获取Eureka服务列表的各种场景
  5. mysql 批量增加字段命令_sql使用命令批量给一个表添加字段
  6. stream的常见方法操作(亲测)
  7. Spring中@Async用法总结
  8. mac安装hadoop2-client
  9. Flask爱家租房--城区信息
  10. 如何使用HTML5创建在线精美简历
  11. 三体与计算机科学与技术,《三体》作者刘慈欣:AlphaGo赢了,但人工智能不可能强大到没有弱点...
  12. 稀缺PSD分层质感男模特男装电商海报
  13. 本地项目上传至git码云步骤(超详细,附图文)
  14. mysql查询周数_MySQL根据年份的周数获取该周起始时间
  15. 算法竞赛入门经典阅读心得
  16. 在内存只有10M的空间中申请一块5M的数组空间,会导致OOM吗?
  17. 单应用下RabbitMQ如何保证线程安全,及多应用下抢数据问题
  18. 2021爱智先行者—人体存在感传感器
  19. IIS部署Thinkphp网站
  20. multisim变压器反馈式_Multisim在负反馈放大器性能测试中的应用

热门文章

  1. Hrbust 1837 Dream【dp】
  2. 【Paper】2017_Consensus of linear multi-agent systems with exogenous disturbance generated from hetero
  3. 2022-2028年中国宠物罐头行业市场全景调查及投资策略研究报告
  4. mac protobuf java_mac 下 使用 protobuf 生成 java 及 js 及配合socket.io 使用
  5. 大学计算机实验报告答案 南京理工大学,南京理工大学微机实验报告.doc
  6. java 获取当年法定假日以及公休日-接口坞
  7. 轮胎规格怎么看?“3T”指数到底是什么?换轮胎前必读!
  8. 半导体器件相关专业词汇积累ing
  9. 设计模式必备知识点----六大设计原则
  10. python之利用Pygal+2010年世界人口=绘制世界地图