搭建环境和开发示例

* 安装

安装包

要对应python的版本

32位安装包(我PC上)

http://jaist.dl.sourceforge.net/project/pyqt/PyQt4/PyQt-4.11.2/PyQt4-4.11.2-gpl-Py2.7-Qt4.8.6-x32.exe

或 64位安装包

http://jaist.dl.sourceforge.net/project/pyqt/PyQt4/PyQt-4.11.2/PyQt4-4.11.2-gpl-Py2.7-Qt4.8.6-x64.exe

安装目录

指定python目录即可,如 C:\Python27\

运行

参考  http://www.pythoner.com/111.html

* 使用

API文档看 这里

简单UI开发

手工编辑代码

实用UI开发

– eric4/eric5

提供UI编辑功能

http://nchc.dl.sourceforge.net/project/eric-ide/eric5/stable/5.5.0/eric5-5.5.0.zip

– 安装(windows)

1.解压到eric5-5.5.0

2.在 eric5-5.5.0/下命令行执行 python install.py

– 启动

1.在 eric5-5.5.0/eric/下,双击 eric.pyw

– qt designer

– 编辑UI,生成xxx.ui文件

– 用ui文件生成py代码

pyuic4 -o 文件名.py 项目名.ui

-x 选项     该参数表示是否生成额外的测试代码来显示窗口,建议加上该参数,这样的话可以方便直接调试运行。

– 生成的py文件

包含 Ui_Dialog 类作为界面描述代码

– 可以直接编辑,作为项目主文件

如加入以下代码后可运行

if __name__ == "__main__":  import sys  app = QtGui.QApplication(sys.argv)  Dialog = QtGui.QDialog()  ui = Ui_Dialog()  ui.setupUi(Dialog)  Dialog.show()  sys.exit(app.exec_())

打包

– py2exe打包成exe

     – 安装 (windows)

下载对应python版本的安装包

           http://ncu.dl.sourceforge.net/project/py2exe/py2exe/0.6.9/py2exe-0.6.9.win32-py2.7.exe

– 依赖

MSVCP90.dll (不清楚为什么只是要这个文件,其他的 MSVCPxxx.dll 似乎都不行)

放置在C:\Windows\System32下

– 使用

将该文件放置要打包的项目目录下,要打包时双击执行,在dist/下生成可执行文件(该文件 setup.windows 中指定的名称)

""" 文件名qt_pkg_tools.py ,以下才是源代码""" #!/usr/bin/env python #coding=utf-8  from distutils.core import setup import py2exe import sys #this allows to run it with a simple double click. sys.argv.append('py2exe')

py2exe_options = {  "includes": ["sip"],  "dll_excludes": ["MSVCP90.dll",],  "compressed": 1,  "optimize": 2,  "ascii": 0,  "bundle_files": 1,  }

setup(
name = 'PyQt Demo',
version = '1.0',
windows = ['pyqtdemo.py',],
zipfile = None,
options = {'py2exe': py2exe_options}
)

* FAQ

打包后,运行时失败

打包后执行时,有时还是会提示缺少MSVCP90.dll,删除掉dist/目录,重新生成即可

http://www.seanyxie.com/pyqt%E5%BC%80%E5%8F%91%E6%95%99%E7%A8%8B-%E6%90%AD%E5%BB%BA%E7%8E%AF%E5%A2%83%E5%92%8C%E5%BC%80%E5%8F%91%E7%A4%BA%E4%BE%8B/

pyqt开发教程-搭建环境和开发示例的更多相关文章

  1. Xamarin Andro教程搭建Xamarin Androidid开发环境(一)

    Xamarin Andro教程搭建Xamarin Androidid开发环境(一) "工欲善其事,必先利其器".对于程序员来说,编程的环境就是其手中的利器.如果没有一个合适方便的编 ...

  2. Xamarin开发教程如何使用Xamarin开发Android应用

    Xamarin开发教程如何使用Xamarin开发Android应用 如何使用Xamarin开发Android应用 在了解了Xamarin和Andriod系统之后,下面我们需要了解一下如何使用这些工具和 ...

  3. web前端开发教程系列-1 - 前端开发编辑器介绍

    目录: 前言 一. Webstorm 1. 优点 2. 缺点 3. 教程 4. 插件 5. 技巧 二. SublimeText 1. 优点 2. 缺点 3. 教程 4. 插件 5. 技巧 前言 由于很 ...

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

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

  5. vue + cesium开发(5) 搭建 vue + cesium开发环境(2)

    上vue+cesium开发(1)中,没有进行配置webpack,而是使用了插件进行代替,在使用过程中出现了一些未知BUG,影响体验,因此参考了官方文档对项目进行重新配置,使用了 copy-webpac ...

  6. Unity3D开发之搭建Mac OS开发环境

    运行图 首先上几张图 IOS模拟器 坚屏 横屏 打包任务 摸索了一上午,才搞定在模拟器中运行.至于在Iphone真机中运行,虽然有开发者证书,目前还没在Xcode中配置好. 我今天第一次接触并使用MA ...

  7. web前端开发教程系列-4 - 前端开发职业规划

    前言 关于我:小天 1). 架构师,项目经理,产品经理 2). 中间件研发 3). VPCC 云计算基础平台管理 4). 智慧旅游 5). 智慧教育 6). 一次失败的创业体验(爱邂逅网) 一. 在开 ...

  8. web前端开发教程系列-3 - 前端开发调试工具分享

    前言 一. Bug出现的原因 1. 主观原因或者是出现这么多浏览器的原因 2. 另外客观原因: 二. 调试工具 1. Firebug 2. Chrome 3. IE11 4. IETester 5. ...

  9. 微信公众帐号开发教程第4篇-----开发模式启用及接口配置Java

    欢迎加入群:347245650   345531810 进行讨论相互交流  我的微信号:572839485 我的微信公众账号  我的微社区欢迎关注 索取源码←请点击 图床:没有服务器 拖拽图片 外网即 ...

随机推荐

  1. 解压tomcat后一闪而过的问题

    解压tomcat压缩包后,直接点击startup会出现一闪而过. 免安装的tomcat双击startup.bat后,启动窗口一闪而过,而且tomcat服务未启动. 原因是:在启动tomcat是,需要读 ...

  2. House Robber & House Robber II

    You are a professional robber planning to rob houses along a street. Each house has a certain amount ...

  3. OpenGL绘制简单的时钟(首发测试)

    #include <windows.h> #include <GL/glut.h>//本来OpenGL程序一般还要包含<GL/gl.h>和<GL/glu.h& ...

  4. mysql触发器使用注意

    1.在创建触发器的时候,语句中避免在一个select语句查询多个列,例如使用select a,b from table,应该分开使用select语句, 例如select a from table  s ...

  5. Android Fragment StartActivityForresult调用实例

    fragment里面的onActivityResult 怎样才能被调用,很简单,就一句话, startActivityForResult(intent, getActivity().RESULT_FI ...

  6. c++中vector与list的区别

    c++标准库中,容器vector和list都可以用来存放一组类型相同的数据.而且二者不同于数组的一点是,支持动态增长.但它们还是有有几点不同 (1)  vector是顺序表,表示的是一块连续的内存,元 ...

  7. SQL Server一些重要视图 1

    第一个: sys.indexs 每个堆与索引在它上有一行. 第二个: sys.partitions每个堆与索引的每一个分区返回一行.每一张表最多可以有1000个区. 第三个: sys. allocat ...

  8. J2SE知识点摘记-数据库(二)

    一.          查询数据 注意sql的内容. 通过ResultSet接口保存全部的查询结果,通过Statement接口中的executeQuery()方法查询.查询之后需要分别取出.通过nex ...

  9. Tempo 2.0

    Tempo 2.0 Tempo is an easy, intuitive JavaScript rendering engine that enables you to craft data tem ...

  10. C++ 下 typeof 的实现

    现在我们有这样一坨代码: std::vector<int> arr; // ... for(std::vector<int>::iterator iter = arr.begi ...