Python+PyQt4+Eric6合并Excel的图形化界面设计

Posted 文竹balala

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python+PyQt4+Eric6合并Excel的图形化界面设计相关的知识,希望对你有一定的参考价值。

寒假在家做了一个关于合并Excel的界面,一直觉得有必要整理一下但是没有整理,所以现在时隔两个月趁着还没忘记,赶紧来整理一下。‘

环境:Win7+Python2.7

名词介绍:

Python是一种面向对象、解释型计算机程序设计语言,具有丰富和强大的库。

PyQt 是一个创建GUI应用程序的工具包。它是Python编程语言和Qt库的成功融合。Qt库是目前最强大的库之一。

Eric6 是Python的一个IDE,因为其自带一个Qtdesigner,所以可以用它通过对控件的拖拽来进行界面的快速设计,所以可以用 eric6 与 PyQt4 结合,实现界面与逻辑分离,只需要关注程序的逻辑实现,不需要在界面上花很多时间。

xlrd 和xlwt 是python下的两个模块,可以实现对Excel的读写,可以对任意版本的Excel进行读取,但是只能保存为Excel2003的.xls格式,但是它可以跨平台操作

设计思路:

1、实现命令行下合并Excel的核心代码:

2、界面设计:

3、界面功能的实现:

实现那些信号和槽机制,扩展程序功能,让用户自己选择模式和文件以及要合并的内容,还有配置文件的修改等

4、实现界面调用合并Excel的代码:

修改命令行下合并Excel的代码,以满足界面调用的需求


上手资料:

上手资料主要包含一个简单的教程,还有一些牛人的博客,主要是自己去查阅文档(文档都是英文的~~),再加上遇到一些问题去Stack Overflow 上找

1、简明教程: http://www.qaulau.com/books/PyQt4_Tutorial/index.html

2、文档1: http://pyqt.sourceforge.net/Docs/PyQt4/modules.html

      文档2: http://nullege.com/codes/search/PyQt4

3、其他: http://www.cnblogs.com/hhh5460/p/4237766.html

http://www.cnblogs.com/coderzh/archive/2009/06/28/1512654.html

4、另外再安装下Py2exe 可以实现将Python 打包为.exe文件     

http://www.pythoner.com/111.html

遇到问题:

在配置环境和敲代码敲代码的过程中总会遇到各种各样奇葩的问题,有时候好几天都解决不了,只能通过不断的查资料和不断的尝试

1、Eric6安装不上

在装完PyQt4后eric6安装时会提示没有安装QScintilla2和Sip,但是在安装的Python的目录下可以看到这些文件,我甚至尝试安装了Qt,但是也没有解决这个问题

在网上查资料见到别人也遇到了这种情况,真心头疼了两天,敲代码设计界面真叫酸爽,过了两天之后把Python卸载然后重装之后发现可以安装Eric6了,原来的安装目录是

D:\\Program Files (x86)\\Python,我觉得可能是原来的安装目录有空格的缘故。就这样莫名其妙的解决了。

2、Python编码错误,这是一个非常坑的问题,可能是自己比较弱的原因,对python字符串的编码解码没有掌握,几乎每次遇到中文都会出现编码错误,而自己每次都要尝试各种方法之后才能解决,这可能就是Python2的坏处吧,有时真想用Python3,但是Python3可能没有自己要用的库。

3、对windows配置文件的读取,配置文件的编码是Utf-8格式编码,但是在根据网上的方法对文件读取的时候还是有错误,最终找到了NPUcat项目在github上的代码,仿照器对.ini文件的读写调用codecs模块最终解决了这个问题。

4、还有最重要的就是在UI设计时网上找不到所需的功能时就去查阅文档。



源代码:https://github.com/Mr-Lu-Coder/Excel-Operator-GUI

来张最终的图片


以上是关于Python+PyQt4+Eric6合并Excel的图形化界面设计的主要内容,如果未能解决你的问题,请参考以下文章

Pyqt4+Eric6+python2.7.13(windows)

用 eric6 与 PyQt5 实现python的极速GUI编程(系列01)--Hello world!

使用 pyqt4 创建运行 python 脚本的 GUI

eric6的安装与配置

Python_PyQt5_eric6 做省市县筛选框

完全配置Python3+PyQt5+Eric6开发环境