基于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神器对付12306变态验证码
Jan 05 Python
python 基础教程之Map使用方法
Jan 17 Python
Python排序搜索基本算法之希尔排序实例分析
Dec 09 Python
Python实现的栈(Stack)
Jan 26 Python
利用Python将数值型特征进行离散化操作的方法
Nov 06 Python
对python以16进制打印字节数组的方法详解
Jan 24 Python
Python学习笔记之While循环用法分析
Aug 14 Python
python tkinter图形界面代码统计工具
Sep 18 Python
python opencv如何实现图片绘制
Jan 19 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
Feb 28 Python
python 下载文件的几种方式分享
Apr 07 Python
Python如何加载模型并查看网络
Jul 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
PHP gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
回帖脱衣服的图片实现代码
2014/02/15 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
2016/01/05 PHP
PHP扩展类型及安装方式解析
2020/04/27 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
2020/06/03 PHP
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
js变换显示图片的实例
2013/04/16 Javascript
jquery及原生js获取select下拉框选中的值示例
2013/10/25 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
基于jQuery实现最基本的淡入淡出效果实例
2015/02/02 Javascript
JS+CSS实现大气的黑色首页导航菜单效果代码
2015/09/10 Javascript
JSON+Jquery省市区三级联动
2016/01/13 Javascript
javascript 利用arguments实现可变长参数
2016/11/21 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
2017/02/05 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
Vue无限滑动周选择日期的组件的示例代码
2018/07/18 Javascript
js实现多个倒计时并行 js拼团倒计时
2019/02/25 Javascript
js实现固定区域内的不重叠随机圆
2019/10/24 Javascript
vue实现列表拖拽排序的功能
2020/11/02 Javascript
[52:40]完美世界DOTA2联赛PWL S2 Magma vs GXR 第一场 11.29
2020/12/02 DOTA
简介Python设计模式中的代理模式与模板方法模式编程
2016/02/02 Python
利用Python获取赶集网招聘信息前篇
2016/04/18 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
2017/07/04 Python
python 将字符串完成特定的向右移动方法
2019/06/11 Python
Django全局启用登陆验证login_required的方法
2020/06/02 Python
使用python对excel表格处理的一些小功能
2021/01/25 Python
美国知名保健品网站:LuckyVitamin(支持中文)
2017/08/09 全球购物
快时尚眼镜品牌,全国连锁眼镜店:LOHO眼镜生活
2018/10/08 全球购物
小学生自我评价范例
2013/09/24 职场文书
我们的节日端午节活动方案
2014/03/02 职场文书
中学生运动会通讯稿大全
2014/09/18 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
行政主管岗位职责范本
2015/04/09 职场文书
员工福利申请报告
2015/05/15 职场文书
idea搭建可运行Servlet的Web项目
2021/06/26 Java/Android
如何用六步教会你使用python爬虫爬取数据
2022/04/06 Python