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

时间: 2024-09-19 09:59:41

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

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

原文:使用PyQt来编写第一个Python GUI程序 本文由 伯乐在线 - Lane 翻译,Daetalus 校稿.未经许可,禁止转载!英文出处:pythonforengineers.com.欢迎加入翻译小组. 简介 许多人在学习如何创建一个 GUI 应用的时候都感到十分的困难.其中最重要的原因是,他们不知道应该从何下手.大多数的教程都只有文字,但事实上仅仅依靠文字很难学会 GUI 编程,因为 GUI 应用大多数都是基于视觉上的. 我们将通过创建一个简单的 GUI 应用来避免上面提到的这些问题

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

作为Python开发者,你迟早都会用到图形用户界面来开发应用.本文将推荐一些 Python GUI 框架,希望对你有所帮助,如果你有其他更好的选择,欢迎在评论区留言. Python 的 UI 开发工具包 Kivy Kivy是一个开源工具包能够让使用相同源代码创建的程序能跨平台运行.它主要关注创新型用户界面开发,如:多点触摸应用程序.Kivy还提供一个多点触摸鼠标模拟器.当前支持的平台包括:Linux.Windows.Mac OS X和Android. Kivy拥有能够处理动画.缓存.手势.绘图等

Python GUI开发环境的搭建

原文:Python GUI开发环境的搭建 最近对Python的开发又来了兴趣,对于Python的开发一直停留在一个表面层的认识,玩的部分比较大. Python的入手简单,语法让人爱不释手,在网络通信方面自带有成熟的类库,还有第三方开发的开源包. 在GUI的开发上,Python自身带有TKinter库,还有第三方的库 (比如wxPython, Qt)   今天就来简单介绍下wxPython开发的环境搭建与示例   开发环境搭建采用wxFormBuilder + uiPad + wxPython,按

窗体之间的传值-C#windows窗体应用程序

问题描述 C#windows窗体应用程序 public partial class AddForm : Form { private int intTemp; private user use = new user(); public AddForm(int temp user u) { intTemp = temp; use= u; InitializeComponent(); } private RedoForm parentForm; public RedoForm pForm { get

python实现简单socket程序在两台电脑之间传输消息的方法_python

本文实例讲述了python实现简单socket程序在两台电脑之间传输消息的方法.分享给大家供大家参考.具体分析如下: python开发简单socket程序在两台电脑之间传输消息,分为客户端和服务端,分别在两台电脑上运行后即可进行简单的消息传输,也可以在一台电脑上测试,设置两个不同的端口即可. # Save as server.py 服务端代码 # Message Receiver import os from socket import * host = "" port = 13000

api-C#窗体应用程序调用百度地图

问题描述 C#窗体应用程序调用百度地图 如题,不知道怎么调用,求详细一点,谢谢各位大侠.万分感激.... 解决方案 C#窗体应用程序C#窗体应用程序中,调用已有应用程序(*.exe) 解决方案二: 调用的是百度地图http服务还是想显示百度地图界面?http服务的话,就模拟http请求带上相应参数直接调用就行了.界面组件的话,百度地图没有提供相应的SDK,要的话,只能内置浏览器控件WebBrowser来显示网页版百度地度 解决方案三: 先做个html/javascript版本的调用百度地图的例子

在窗体应用程序中打开数据库。。。一直打不开。

问题描述 在窗体应用程序中打开数据库...一直打不开. { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { string strConnection = "Provider=Microsoft.Ace.OleDb.12.0;"; strConnection += @&quo

windows窗体应用程序-关于c++控件编程往控件中写入文本的问题

问题描述 关于c++控件编程往控件中写入文本的问题 首先我采用vs2010建立了一个windows窗体应用程序,在这个窗体上面加了一个richtextbox控件和一个button控件,我的目的是程序执行时,点击button按钮,这样在richtextbox控件中会显示相应的数据,于是我在button中添加了如下代码: private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { int i,

c++-VS窗体应用程序绘制曲线

问题描述 VS窗体应用程序绘制曲线 VS窗体应用程序绘制曲线,用鼠标绘制,拖动鼠标生成曲线,可以取样和恢复曲线 解决方案 添加鼠标按下的消息处理函数,在消息处理函数里获得鼠标相对于窗体的坐标并且记录,然后在OnPaint里来用MoveTo和LineTo画线