初次使用python写图形界面的工具时,用了Tkinter、wxpython,都是需要手写界面布局的,看api看的头疼觉得这样写太费劲了,于是搜了下看看别人都是怎样写python图形界面的。

在论坛上看到了大家讨论的很多种选择有GTK、pyqt等,我特别向往向C#那样可以画界面,觉得很爽,最后决定用pyqt。

一、PyQt4的下载与安装

  1.下载。

到官网 https://riverbankcomputing.com/software/pyqt/intro 下载PyQt4及SIP

PyQt5只支持python3.0,而3.0版本有很多包还不支持,所以决定下载PyQt4。PyQt4下载的时候选择exe比较简单,记得下载的时候选好windows32、64

SIP是官网描述是安装PyQt4之前需要安装的,下载压缩包

2.安装。

SIP

    a.将SIP解压到Python27\Lib\site-packages下面

    b.打开VS的命令行提示符,定位到sip目录,输入命令:python configure.py 并回车进行配置安装

    c.执行nmake命令

    d.执行nmake install命令

     至此SIP就安装完成了,至于为什么要打开vs的命令行提示符而不用cmd.exe,是因为nmake.exe在vs命令行窗口中可以直接找到,如果没有配置一些环境变量的话,

     直接用cmd会显示“不是内部命令”,所以为了避免配置那些繁琐的环境变量,就酱

    PyQt4

     直接执行exe一路next就可以了

有一点需要注意,如果安装的python是32bit windows版本,而PyQt是64bit,那就不能匹配成功,需要两个软件windows版本位数相同哦

二、PyQt4设计界面并转化为.py

  1.设计界面

    打开PyQt4文件夹中designer.exe,设计好界面后保存为test.ui

2.转化为python代码

     a.打开cmd.exe,并定位到包含pyuic.py文件的目录

    b.执行命令  python pyuic.py test.ui -o test.py,生成的test.py会默认在pyuic.py目录中

命令也可写成:python pyuic.py -o test.py test.py,只有-o 后面跟着的是.py就可以了

或者使用 pyuic4 test.ui -o test.py (需定位到pyuic4.bat目录)

3.修改生成的代码

     默认生成的代码是运行不了的,因为类中没有初始化函数,类也没有继承,我试验了一下,类继承自QtGui.QWidget可以正常运行,所以就用这个了。具体需要在生成的代码中添加的代码如下:

class Ui_form(QtGui.QWidget):
def __init__(self):
super(Ui_form,self).__init__()
self.setupUi(self) def setupUi(self,form):
'''以下省略‘’‘’

PyQt4环境搭建与使用的更多相关文章

  1. PyCharm + PyQt4 环境搭建

    一.准备工作 下载pycharm 和 pyqt4 (百度下就有) pyqt4安装好后,在C:\Python27\Lib\site-packages\PyQt4 路径下会有designer.exe ,这 ...

  2. pyqt5 -——介绍及和pycharm的环境搭建

    pyqt5简介: yQt5的类存在与如下模块当中: ● QtCore ● QtGui ● QtWidgets ● QtMultimedia ● QtBluetooth ● QtNetwork ● Qt ...

  3. [ PyQt入门教程 ] PyQt5环境搭建和配置

    PyQt入门系列教程主要目的是希望通过该系列课程学习,可以使用PyQt5工具快速实现简单的界面开发,包括界面设计.布局管理以及业务逻辑实现(信号与槽).简单说就是可以使用PyQt5工具快速画一个控件摆 ...

  4. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  5. Azure Service Fabric 开发环境搭建

    微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...

  6. rnandroid环境搭建

    react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...

  7. python开发环境搭建

    虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...

  8. springMVC初探--环境搭建和第一个HelloWorld简单项目

    注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...

  9. 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~

    一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...

随机推荐

  1. BestCoder Round #36 [B] Gunner

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=5199 先对树的高度排序,然后对每次射击高度二分查找即可,打过之后数目变为0. #include< ...

  2. 转:内核中的内存申请:kmalloc、vmalloc、kzalloc、kcalloc、get_free_pages

    在内核模块中申请分配内存需要使用内核中的专用API:kmalloc.vmalloc.kzalloc.kcalloc.get_free_pages;当然,设备驱动程序也不例外;对于提供了MMU功能的处理 ...

  3. JS版本网站资源状态检测

    Title:JS版本网站资源状态检测  --2012-08-28 14:08 前几天需要一个网站状态检测的东东,后面写了个蹩脚的JS版本,里面用到了以前没用过的东西,在这里记下来,其实批处理加curl ...

  4. C写的扫描器源码

    Title:C写的扫描器源码 --2010-10-27 20:02 无意间看见的一个源代码,弄回来读下. ----------------------------------------------- ...

  5. 关于Action返回结果类型的事儿(下)

    原文:关于Action返回结果类型的事儿(下) using System;  using System.Collections.Generic;  using System.Linq;  using ...

  6. js 中比较 undefined

    // x has not been declared before if (typeof x === 'undefined') { // evaluates to true without error ...

  7. 【转】listView中,checkBox的显示和隐藏

    原文网址:http://www.cnblogs.com/vicma/p/3460500.html 在listView中,每个item都有一个ChexBox,当显示的时候在listView外面设置一个按 ...

  8. NOI2010 航空管制

    http://www.lydsy.com/JudgeOnline/problem.php?id=2535 贪心. 对于第1个问,我们先建立拓扑图,对于如果a必须在b前起飞,那么连有向边b->a, ...

  9. 提升效率的Linux终端快捷操作汇总

    很多普通 Linux 桌面用户都对使用终端感到排斥和恐惧,其实它没大家想的那么复杂,很多常见操作都可以直接在终端中进行,如:安装软件.升级系统等. 无论你是新手还是 Linux 终端使用的老鸟,系统极 ...

  10. Oracle 11g新特性invisible index(不可见的索引)

    假设一张表上有十几个索引,你有什么感受?显然会拖慢增.删.改的速度.不要指望开发者能建好索引.我的处理方法是先监控非常长的一段时间.看哪些索引没实用到,然后删除. 但删除以后,假设发现某一天实用,那又 ...