基于Python+QT的gui程序开发实现


Posted in Python onJuly 03, 2020

最近帮朋友做了一个将文本文件按条件导出到excel里面的小程序。使用了PyQT,发现Python真是一门强大的脚本语言,开发效率极高。

首先需要引用

from PyQt4 import QtGui, uic, QtCore

很多控件像QPushButton是从QtGui的空间中得来的,下面def __init__(self, parent=None)中定义了界面的设计及与控件相互联系的方法。

class AddressBook(QtGui.QWidget):
  def __init__(self, parent=None):
    super(AddressBook, self).__init__(parent)
    #button控件
    self.out_put = QtGui.QPushButton("&Out_put")
    #该button在被单击之后,调用self.out的方法
    self.out_put.clicked.connect(self.out)
    browseButton = self.createButton("&Browse...", self.browse)
 
    nameLabel = QtGui.QLabel("Location:")
    self.nameLine = QtGui.QLineEdit()
    addressLabel = QtGui.QLabel("Loading:")
    self.addressText = QtGui.QTextEdit()
    self.createFilesTable()
 
    buttonLayout1 = QtGui.QVBoxLayout()
    buttonLayout1.addWidget(browseButton, QtCore.Qt.AlignTop)
    buttonLayout1.addWidget(self.out_put)
    buttonLayout1.addStretch()
    #界面的布局
    mainLayout = QtGui.QGridLayout()
    mainLayout.addWidget(nameLabel, 0, 0)
    mainLayout.addWidget(self.nameLine, 0, 1)
    mainLayout.addWidget(addressLabel, 1, 0, QtCore.Qt.AlignTop)
    #mainLayout.addWidget(self.addressText, 1, 1)
    mainLayout.addWidget(self.filesTable, 1, 1)
    mainLayout.addLayout(buttonLayout1, 1, 2)
    self.setLayout(mainLayout)
    self.setWindowTitle("HD_export")

得到的效果如图所示:

基于Python+QT的gui程序开发实现

然后就是定义button对应的方法。如Browse这个button对应的方法,代码如下:

def browse(self):
    directory = QtGui.QFileDialog.getExistingDirectory(self, "Find Files",
        QtCore.QDir.currentPath())
 
    self.nameLine.setText(directory)
    self.find()
    
  def find(self):
    self.filesTable.setRowCount(0)
    path=self.nameLine.text()
    self.currentDir = QtCore.QDir(path)
    files = self.currentDir.entryList(QtCore.QDir.Files | QtCore.QDir.NoSymLinks)
 
    self.showFiles(files)

这样当单击Browse这个按钮的时候,他就会调用browse这个方法了。

Ok,这样PyQT的用法就差不多说完了。然后就是如果编译这个.py文件,让他能够生成可用的.exe.

我在生成的时候,使用的是cx_Freeze,它的用法就一个命令FreezePython.exe,打包也很快捷:

cx_Freeze.bat  --install-dir="/your/path/to/install" app.py      

在安装的时候他会把cx_Freeze.bat放到\Python27\Scripts的文件夹中。

真正理解这个GUI开发,还是要自己去动手做。使用PyQT可以迅速的开发出自己想要的小工具,是一个不错的方法

到此这篇关于基于Python+QT的gui程序开发实现的文章就介绍到这了,更多相关Python QT gui程序开发内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中assert用法实例分析
Apr 30 Python
Python函数式编程指南(一):函数式编程概述
Jun 24 Python
Python回调函数用法实例详解
Jul 02 Python
Python Requests安装与简单运用
Apr 07 Python
python学习入门细节知识点
Mar 29 Python
django foreignkey(外键)的实现
Jul 29 Python
Python 保持登录状态进行接口测试的方法示例
Aug 06 Python
python使用opencv在Windows下调用摄像头实现解析
Nov 26 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
Feb 21 Python
Python使用Matlab命令过程解析
Jun 04 Python
Python坐标轴操作及设置代码实例
Jun 04 Python
next在python中返回迭代器的实例方法
Dec 15 Python
keras 两种训练模型方式详解fit和fit_generator(节省内存)
Jul 03 #Python
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
Jul 03 #Python
keras分类模型中的输入数据与标签的维度实例
Jul 03 #Python
keras自动编码器实现系列之卷积自动编码器操作
Jul 03 #Python
Python with语句用法原理详解
Jul 03 #Python
Keras搭建自编码器操作
Jul 03 #Python
python 识别登录验证码图片功能的实现代码(完整代码)
Jul 03 #Python
You might like
日本收入最高的漫画家:海贼王作者版税年收入高达8.45亿元
2020/03/04 日漫
Phpbean路由转发的php代码
2008/01/10 PHP
php smarty 二级分类代码和模版循环例子
2011/06/16 PHP
CakePHP框架Model函数定义方法示例
2017/08/04 PHP
js url传值中文乱码之解决之道
2009/11/20 Javascript
javascript 鼠标悬浮图片显示原图 移出鼠标后原图消失(多图)
2009/12/28 Javascript
jQuery编写widget的一些技巧分享
2010/10/28 Javascript
javascript代码加载优化方法
2011/01/30 Javascript
JavaScript表达式:URL 协议介绍
2013/03/10 Javascript
javascript实现的DES加密示例
2013/10/30 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
jQuery源码解读之removeAttr()方法分析
2015/02/20 Javascript
javascript实现tab切换特效
2015/11/12 Javascript
javascript禁止超链接跳转的方法
2016/02/02 Javascript
Node.js的特点详解
2017/02/03 Javascript
JS实现手写parseInt的方法示例
2017/09/24 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
mongoose更新对象的两种方法示例比较
2017/12/19 Javascript
关于express与koa的使用对比详解
2018/01/25 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
javascript使用canvas实现饼状图效果
2020/09/08 Javascript
python实现备份目录的方法
2015/08/03 Python
python数字图像处理实现直方图与均衡化
2018/05/04 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
使用python模拟命令行终端的示例
2019/08/13 Python
20行代码教你用python给证件照换底色的方法示例
2021/02/05 Python
来自Ocado的宠物商店:Fetch
2018/07/10 全球购物
俄语地区最大的中国商品在线购物网站之一:Umka Mall
2019/11/03 全球购物
意大利在线药房:Saninforma
2021/02/11 全球购物
IMPORT的选项IGNORE有什么作用?缺省是什么设置?
2015/09/17 面试题
标准导师推荐信(医学类)
2013/10/28 职场文书
幼儿园六一儿童节主持节目串词
2014/03/21 职场文书
助残日活动总结
2014/08/27 职场文书
初中家长评语大全
2014/12/26 职场文书
安全教育培训心得体会
2016/01/15 职场文书
导游词之泉州崇武古城
2019/12/20 职场文书