基于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将mdb数据库文件导入postgresql数据库示例
Feb 17 Python
使用Python的Flask框架实现视频的流媒体传输
Mar 31 Python
Python探索之实现一个简单的HTTP服务器
Oct 28 Python
Python实现的质因式分解算法示例
May 03 Python
对python:print打印时加u的含义详解
Dec 15 Python
利用Python检测URL状态
Jul 31 Python
python 利用turtle模块画出没有角的方格
Nov 23 Python
Flask中endpoint的理解(小结)
Dec 11 Python
Python实现图片识别加翻译功能
Dec 26 Python
通过 Python 和 OpenCV 实现目标数量监控
Jan 05 Python
python如何导出微信公众号文章方法详解
Aug 31 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
Dec 07 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
PHP无法访问远程mysql的问题分析及解决
2013/05/16 PHP
PHP COOKIE及时生效的方法介绍
2014/02/14 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
2015/03/17 PHP
php简单图像创建入门实例
2015/06/10 PHP
PHP生成各种常见验证码和Ajax验证过程
2016/01/10 PHP
Thinkphp实现短信验证注册功能
2016/10/18 PHP
JQuery之拖拽插件实现代码
2011/04/14 Javascript
JavaScript函数中关于valueOf和toString的理解
2016/06/14 Javascript
探讨跨域请求资源的几种方式(总结)
2016/12/02 Javascript
详解Angular2 关于*ngFor 嵌套循环
2017/05/22 Javascript
VUE2实现事件驱动弹窗示例
2017/10/21 Javascript
vue.js中实现登录控制的方法示例
2018/04/23 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
p5.js临摹动态图形实现方法详解
2019/10/23 Javascript
Vue axios 将传递的json数据转为form data的例子
2019/10/29 Javascript
js实现自动播放匀速轮播图
2020/02/06 Javascript
uniapp实现横向滚动选择日期
2020/10/21 Javascript
[01:47]2018年度DOTA2最佳教练-完美盛典
2018/12/16 DOTA
[01:02:55]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
[41:52]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第二场 2月22日
2021/03/11 DOTA
使用python调用浏览器并打开一个网址的例子
2014/06/05 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
python itchat实现微信好友头像拼接图的示例代码
2017/08/14 Python
Python编程之gui程序实现简单文件浏览器代码
2017/12/08 Python
python中使用ctypes调用so传参设置遇到的问题及解决方法
2019/06/19 Python
详解如何从TensorFlow的mnist数据集导出手写体数字图片
2019/08/05 Python
python实现画出e指数函数的图像
2019/11/21 Python
python实现PCA降维的示例详解
2020/02/24 Python
The North Face官方旗舰店:美国著名户外品牌
2020/09/28 全球购物
函数指针的定义是什么
2016/08/14 面试题
社区党建工作方案
2014/06/10 职场文书
出纳岗位职责范本
2015/03/31 职场文书
毕业欢送会致辞
2015/07/29 职场文书
咖啡厅里的创业计划书
2019/08/21 职场文书
Java网络编程之UDP实现原理解析
2021/09/04 Java/Android
python实现层次聚类的方法
2021/11/01 Python