目录

前言

还是一句老话,公司要什么我就做什么。这次来玩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

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

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



iii. (安装)

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

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程序的主循环,也是事件处理的调用。

Run:

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

常见错误

Solution

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

最后

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

PyQt4 Python GUI窗体应用程序的更多相关文章

  1. PYQT4 Python GUI 编写与 打包.exe程序

    工作中需要开发一个小工具,简单的UI界面可以很好的提高工具的实用性,由此开启了我的第一次GUI开发之旅,下面将自己学习的心得记录一下,也做为学习笔记吧!!! 参考:http://www.qaulau. ...

  2. 使用PyQt来编写第一个Python GUI程序

    原文:使用PyQt来编写第一个Python GUI程序 本文由 伯乐在线 - Lane 翻译,Daetalus 校稿.未经许可,禁止转载!英文出处:pythonforengineers.com.欢迎加 ...

  3. Python GUI - tkinter

    目录: Tkinter 组件 标准属性 几何管理 代码实例: 1. Label & Button 2. Entry & Text 3.Listbox列表 4.Radiobutton单选 ...

  4. Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) JAVA日志的前世今生 .NET MVC采用SignalR更新在线用户数 C#多线程编程系列(五)- 使用任务并行库 C#多线程编程系列(三)- 线程同步 C#多线程编程系列(二)- 线程基础 C#多线程编程系列(一)- 简介

    Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) 一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 ...

  5. 八款常用的 Python GUI 开发框架推荐

    作为Python开发者,你迟早都会用到图形用户界面来开发应用.本文将推荐一些 Python GUI 框架,希望对你有所帮助,如果你有其他更好的选择,欢迎在评论区留言. Python 的 UI 开发工具 ...

  6. Python-1 IDLE(Python GUI)

    #1 运行Python: 开始 -> 程序 -> Python -> IDLE(Python GUI) 或 开始 -> 输入IDLE #2 各个菜单项及基本用法的帮助: Hel ...

  7. Python GUI with Tkinter (from youtube) 在youtube上能找到很多编程视频...

    Python GUI with Tkinter - 1 - Introduction以上链接是一个python tkinter视频系列的第一讲的链接.虽然英语不好,但是,程序还是看得懂的(照着做就可以 ...

  8. Python GUI开发环境的搭建

    原文:Python GUI开发环境的搭建 最近对Python的开发又来了兴趣,对于Python的开发一直停留在一个表面层的认识,玩的部分比较大. Python的入手简单,语法让人爱不释手,在网络通信方 ...

  9. Python GUI编程各种实现的对比

    Python GUI编程各种实现的对比 从 Python 语言的诞生之日起,就有许多优秀的 GUI 工具集整合到 Python 当中,这些优秀的 GUI 工具集,使得 Python 也可以在图形界面编 ...

随机推荐

  1. Mandelbrot集合及其渲染

    什么是Mandelbrot集合? Mandelbrot集合是在复数平面上组成分形的点的集合,它正是以数学家Mandelbrot命名. Mandelbrot集合可以用复二次多项式 \[ f_c(z)=z ...

  2. Charles中使用Rewrite提高测试效率

    上次给大家演示了Charles中通过Map Local功能来提高测试效率,Charles还有另外一个强大的功能,Rewrite,这次也给大家演示一下. Charles中的Rewrite功能非常强大,可 ...

  3. ibatis与mybatis的区别

    一.最主要的区别就是mybatis简化了编码的过程,不需要去写dao的实现类,直接写一个dao的借口,再写一个xml配置文件,整个mybatis就配置好了,也就是数据库就连接好了,然后再service ...

  4. 火焰图(Flame Graphs)的安装和基本用法

    火焰图(Flame Graphs) 一.概述: 火焰图(flame graph)是性能分析的利器,通过它可以快速定位性能瓶颈点. perf 命令(performance 的缩写)是 Linux 系统原 ...

  5. Mybatis日志无打印的问题

    添加maven依赖 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j1 ...

  6. qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 __imp_CommandLineToArgvW,该符号在函数 WinMain 中被引用

    报错:qtmaind.lib(qtmain_win.obj) : error LNK2019: 无法解析的外部符号 __imp_CommandLineToArgvW,该符号在函数 WinMain 中被 ...

  7. TTTTTTTTTTT POJ 2749 修牛棚 2-Sat + 路径限制 变形

    Building roads Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7019   Accepted: 2387 De ...

  8. poj 2566 Bound Found 尺取法 变形

    Bound Found Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 2277   Accepted: 703   Spec ...

  9. AcWing:105. 七夕祭(前缀和 + 中位数 + 分治 + 贪心)

    七夕节因牛郎织女的传说而被扣上了「情人节」的帽子. 于是TYVJ今年举办了一次线下七夕祭. Vani同学今年成功邀请到了cl同学陪他来共度七夕,于是他们决定去TYVJ七夕祭游玩. TYVJ七夕祭和11 ...

  10. Acwing:102. 最佳牛围栏(前缀和 + 二分)

    农夫约翰的农场由 NN 块田地组成,每块地里都有一定数量的牛,其数量不会少于1头,也不会超过2000头. 约翰希望用围栏将一部分连续的田地围起来,并使得围起来的区域内每块地包含的牛的数量的平均值达到最 ...