PyQt4 Python GUI窗体应用程序

简介:

前言

还是一句老话,公司要什么我就做什么。这次来玩Python的GUI编程,做一个用于监控警报、简化SOP的窗体应用程序。首先当然是部署开发环境了,这次用PyCharm5+Python3.4+PyQt4(QT Designer)

软件环境

  • 系统 
    • Win10
  • 软件 
    • Python 3.4.3
    • PyCharm 5.0.4
    • PyQt 4
    • IPython 4.0.0
    • Powershell 3.0

PyQT简介

PyQt是一个创建GUI应用程序的工具包。它是Python编程语言和Qt库的成功融合。Qt库是目前最强大的库之一,Linux爱好者应该非常熟悉了,KDE就是应用QT开发的。PyQt实现了一个Python模块集,它有超过300类,将近6000个函数和方法。它是一个多平台的工具包,可以运行在所有主要操作系统上,包括UNIX,Windows和Mac。 PyQt采用双许可证,开发人员可以选择GPL和商业许可。在此之前,GPL的版本只能用在Unix上,从PyQt的版本4开始,GPL许可证可用于所有支持的平台。 
因为可用的类有很多,他们被分成几个模块。 
QtCore模块包含核心的非GUI功能。该模块用于时间、文件和目录、各种数据类型、流、网址、MIME类型、线程或进程。 
QtGui模块包含图形组件和相关的类,例如按钮、窗体、状态栏、工具栏、滚动条、位图、颜色、字体等。 
QtNetwork模块包含了网络编程的类,这些类允许编写TCP/IP和UDP的客户端和服务器,他们使网络编程更简单,更轻便。 
QtXml模块包含使用XML文件的类,这个模块提供了SAX和DOM API的实现。 
QtSvg模块提供显示的SVG文件的类。可缩放矢量图形(SVG)是一种用于描述二维图形和图形应用程序的XML语言。 
QtOpenGL模块使用OpenGL库渲染3D和2D图形,该模块能够无缝集成Qt的GUI库和OpenGL库。 
QtSql模块提供用于数据库的类。

Setup PyCharm

下载地址,点这里 
双击exe执行程序一路Next即可。 
注意选择Python的安装路径、设置自己喜欢的主题风格。 
安装成功后打开PyCharm,并Create New Project 
这里写图片描述

Setup SIP

SIP用于将PyQt的C++库映射到Python,PyQt4中内嵌了SIP。较低版本需要安装SIP后才能在Python中调用PyQt。这里我们也安装一下(虽然无所谓装不装)。 
下载地址,点这里 
Step1. Copy sip folder with /sip-4.17/ into D:\development\Python34\Lib\site-packages 
Step2. Make install SIP 
i. (配置)RUN CMD Prompt

D:\development\Python34\Lib\site-packages\sip-4.17>python configure.py
  • 1
  • 1

ii. (编译)借用Visual Studio的Developr Command Prompt中的umake指令来编译

D:\development\Python34\Lib\site-packages\sip-4.17>nmake 
  • 1
  • 1

这里写图片描述 
iii. (安装)

D:\development\Python34\Lib\site-packages\sip-4.17>nmake install
  • 1
  • 1

这里写图片描述

SIP Install Finish

Setup PyQt4

下载地址,点这里 
PyQt跨平台,主流系统的installer都有。 
对于Windows来说,只需要下载exe格式的文件即可。在这个exe文件中,已经包含了如下模块:

  • PyQt4
  • Qt (with database support for MySQL, PostgreSQL, SQLite3 and ODBC)
  • Qt Designer
  • Qt Linguist
  • Qt Assistant
  • pyuic4
  • pylupdate4
  • lrelease
  • pyrcc4
  • QScintilla

注意Python的版本和位数,Example 
这里写图片描述 
我的是Python 3.4.3 win32

Note that the Qt documentation is not included. 
PyQt4-4.11.4-gpl-Py3.4-Qt4.8.7-x64.exe Windows 64 bit installer 
PyQt4-4.11.4-gpl-Py3.4-Qt4.8.7-x32.exe Windows 32 bit installer 
PyQt4-4.11.4-gpl-Py3.4-Qt5.5.0-x64.exe Windows 64 bit installer 
PyQt4-4.11.4-gpl-Py3.4-Qt5.5.0-x32.exe Windows 32 bit installer 
PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x64.exe Windows 64 bit installer 
PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x32.exe Windows 32 bit installer

选择python解析器的安装路径 
这里写图片描述

测试PyQt是否安装成功

New Project PyQT_demo –> New file TestPyqt.py

import sys
from PyQt4 import QtGui             #QtGui是PyQt最基本的GUI绘图组件类库

app = QtGui.QApplication(sys.argv)  #创建QApplication的对象app,每个PyQt程序用都要包含有一个QApplication对象
widget = QtGui.QWidget()            #创建QWidget对象widget
widget.resize(250, 150)             #设定widget对象的resize属性值,用于指定默认部件的Size
widget.setWindowTitle('PyQt')       #设定部件的Title
widget.show()                       #Call widget对象的show()方法,即显示部件
sys.exit(app.exec_())               #最后一行是这个demo程序的主循环,也是事件处理的调用。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

Run: 
这里写图片描述

成功弹出窗口,表示PyQt安装成功

常见错误

这里写图片描述

这里写图片描述

Solution: 
PyQt Version与当前的Python Version不一致。卸载PyQt后,选择正确的版本后继续安装。

最后

下次玩QT Designer,来画画。 :-)

转载:http://blog.csdn.net/jmilk/article/details/50724120

目录
相关文章
|
12天前
|
Python
python魔法方法如何应用
【4月更文挑战第12天】这个Python示例展示了类继承和方法重写。`Student`类继承自`Person`,并覆盖了`say_hello`方法。通过`super().__init__(name)`调用父类的`__init__`初始化`name`属性,`Student`添加了`age`属性,并在重写的`say_hello`中使用。创建`Student`实例`student`并调用其`say_hello`,输出定制的问候信息。
19 1
|
12天前
|
Python
python增量赋值运算的应用
Python中的增量赋值运算符用于便捷地执行算术操作,如`+=`, `-=`等,它们分别代表加法、减法、乘法、除法、取模、整除和幂运算。
13 1
|
3天前
|
API 数据库 数据安全/隐私保护
Flask框架在Python面试中的应用与实战
【4月更文挑战第18天】Django REST framework (DRF) 是用于构建Web API的强力工具,尤其适合Django应用。本文深入讨论DRF面试常见问题,包括视图、序列化、路由、权限控制、分页过滤排序及错误处理。同时,强调了易错点如序列化器验证、权限认证配置、API版本管理、性能优化和响应格式统一,并提供实战代码示例。了解这些知识点有助于在Python面试中展现优秀的Web服务开发能力。
19 1
|
12天前
|
机器学习/深度学习 人工智能 算法
图像处理与分析:Python中的计算机视觉应用
【4月更文挑战第12天】Python在计算机视觉领域广泛应用,得益于其丰富的库(如OpenCV、Pillow、Scikit-image)和跨平台特性。图像处理基本流程包括获取、预处理、特征提取、分类识别及重建生成。示例代码展示了面部和物体检测,以及使用GAN进行图像生成。
|
3天前
|
SQL 中间件 API
Flask框架在Python面试中的应用与实战
【4月更文挑战第18天】**Flask是Python的轻量级Web框架,以其简洁API和强大扩展性受欢迎。本文深入探讨了面试中关于Flask的常见问题,包括路由、Jinja2模板、数据库操作、中间件和错误处理。同时,提到了易错点,如路由冲突、模板安全、SQL注入,以及请求上下文管理。通过实例代码展示了如何创建和管理数据库、使用表单以及处理请求。掌握这些知识将有助于在面试中展现Flask技能。**
11 1
Flask框架在Python面试中的应用与实战
|
4天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python构建简单的图像识别应用
本文将介绍如何利用Python语言及其相关库来构建一个简单但功能强大的图像识别应用。通过结合OpenCV和深度学习模型,我们将展示如何实现图像的特征提取和分类,从而实现对图像中物体的自动识别和分类。无需复杂的算法知识,只需一些基本的Python编程技巧,你也可以轻松地创建自己的图像识别应用。
|
5天前
|
数据采集 JavaScript 前端开发
使用Python打造爬虫程序之破茧而出:Python爬虫遭遇反爬虫机制及应对策略
【4月更文挑战第19天】本文探讨了Python爬虫应对反爬虫机制的策略。常见的反爬虫机制包括User-Agent检测、IP限制、动态加载内容、验证码验证和Cookie跟踪。应对策略包括设置合理User-Agent、使用代理IP、处理动态加载内容、验证码识别及维护Cookie。此外,还提到高级策略如降低请求频率、模拟人类行为、分布式爬虫和学习网站规则。开发者需不断学习新策略,同时遵守规则和法律法规,确保爬虫的稳定性和合法性。
|
6天前
|
SQL 安全 Go
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
在Python Web开发中,确保应用安全至关重要,主要防范SQL注入、XSS和CSRF攻击。措施包括:使用参数化查询或ORM防止SQL注入;过滤与转义用户输入抵御XSS;添加CSRF令牌抵挡CSRF;启用HTTPS保障数据传输安全;实现强身份验证和授权系统;智能处理错误信息;定期更新及审计以修复漏洞;严格输入验证;并培训开发者提升安全意识。持续关注和改进是保证安全的关键。
14 0
|
6天前
|
数据挖掘 vr&ar Python
Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用
Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用
32 10
|
6天前
|
机器学习/深度学习 数据采集 供应链
从数据到决策:scikit-learn在业务分析中的应用
【4月更文挑战第17天】本文探讨了scikit-learn在业务分析中的应用,包括数据预处理、分类、回归和聚类模型的构建,以及模型评估与优化。通过使用scikit-learn,企业能有效处理数据、预测趋势、客户细分并制定决策,从而提升经营效率和市场策略。随着机器学习的发展,scikit-learn在业务分析领域的潜力将持续释放,创造更多价值。