初次使用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. memcpy造成其他变量值改变

        以前C/C++遇到过很多很多的问题,有时候费了很久很久时间,很大很大的努力才解决.但是都没有记录下来,现在想想以前的遇到的问题,只知道这样的事情发生过,至于是什么问题,一点印象都没有了.所以遇 ...

  2. SVM及其对偶

    引自 http://my.oschina.net/wangguolongnk/blog/111349 1. 支持向量机的目的是什么? 对于用于分类的支持向量机来说,给定一个包含正例和反例(正样本点和负 ...

  3. BZOJ1697: [Usaco2007 Feb]Cow Sorting牛排序

    1697: [Usaco2007 Feb]Cow Sorting牛排序 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 387  Solved: 215[S ...

  4. MFC单文档自定义扩展名及添加图标报Assertion错误

    忽然无聊的想给自己写的程序保存的文件使用自己的名字简写作为后缀,于是有了下文. IDR_MAINFRAME格式介绍 IDR_MAINFRAME字符串资源中包含7个子串,分别以/n结束,即如下格式: & ...

  5. Android AlertDialog全屏显示去除白色边框

    使用styles.xml风格: Style.xml代码 <style name="FullScreenDialog" parent="android:style/T ...

  6. 程序设计实习MOOC / 继承和派生——编程作业 第五周程序填空题1

    描述 写一个MyString 类,使得下面程序的输出结果是: 1. abcd-efgh-abcd- 2. abcd- 3. 4. abcd-efgh- 5. efgh- 6. c 7. abcd- 8 ...

  7. Java ConcurrentHashmap 解析

    总体描述: concurrentHashmap是为了高并发而实现,内部采用分离锁的设计,有效地避开了热点访问.而对于每个分段,ConcurrentHashmap采用final和内存可见修饰符Volat ...

  8. 实现函数 isInteger(x) 来判断 x 是否是整数

    将x转换为十进制整数,判断是否和自身相等即可: function isInteger(x){ return parseInt(x, 10) === x; } console.log('1.2 is a ...

  9. 经常使用的自己定义UI组件- 一:TimeView

     近期做蛋疼的机顶盒项目,以后遇到哪些经常使用的组件,记录于此. 反编译 youku视频TV偷来的..也希望各位童鞋多学习别人的代码,为己所用. 当然还有其它的办法,比方监听系统发出的广播等等.等 ...

  10. [Javascript] Array methods in depth - indexOf

    indexOf is used to search for a value or reference inside of an array. In this lesson we first look ...