初次使用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. UNIX网络进程间通信漫谈(1)

    进程间通信 IPC是进程间通信的简称,指的是运行在某个操作系统上的不同进程间各种消息传递方式,在Unix操作系统过去30年的演变史中,消息传递经历了如下几个阶段: 管道,管道是第一个广泛使用的IPC形 ...

  2. 自己封装的HttpRequest,个人觉的比较HttpHelper好用

    新年开篇,忙归忙,还是要写点什么,不然越来越懒,分享我写的HttpTooler public delegate void RequestCompleted(object sender, string ...

  3. Eclipse设置合适的字体

    一直使用Eclipse开发,最近感觉Comic Sans MS不错,但我的eclipse的默认字体里没有. 如果系统里有这个字体的话,那可以很简单的将这个字体添加到Eclipse中: Windows ...

  4. codevs1033 蚯蚓的游戏问题

    题目描述 Description 在一块梯形田地上,一群蚯蚓在做收集食物游戏.蚯蚓们把梯形田地上的食物堆积整理如下: a(1,1)  a(1,2)…a(1,m) a(2,1)  a(2,2)  a(2 ...

  5. 消除JavaScript闭包的一般方法

    JavaScript 的闭包是一个其主动发展的特性, 也是一个被动发展的特性. 也就是说, 一方面, JS 有了闭包能更好解决一些问题. 另一方面, JS 为了解决某些问题, 而不得不使用闭包勉强来解 ...

  6. Truncate Table 用法

    TRUNCATE TABLE 删除表中的所有行,而不记录单个行删除操作. 语法 TRUNCATE TABLE name 参数 name 是要截断的表的名称或要删除其全部行的表的名称. 注释 TRUNC ...

  7. MyEclipse中用Maven创建Web项目(亲测有效)

    new --> other   1.Wizards: mvaen 2.Maven Project 3.Next   Use Default Workspace Location   1.weba ...

  8. 重写boost内存池

    最近在写游戏服务器网络模块的时候,需要用到内存池.大量玩家通过tcp连接到服务器,通过大量的消息包与服务器进行交互.因此要给每个tcp分配收发两块缓冲区.那么这缓冲区多大呢?通常游戏操作的消息包都很小 ...

  9. (转)linux bash shell 入门教程

    Shell Script(bash)简介 众所皆知地,UNIX上以小工具著名,利用许多简单的小工具,来完成原本需要大量软体开发的工作,这一点特色,使得UNIX成为许多人心目中理想的系统平台. 在众多的 ...

  10. (转)Linux下Apache 限速模块安装笔记

    参考文章:http://www.pcmag.com.cn/solution/net/story/200704/51003104.shtml 限线程:http://dominia.org/djao/li ...