pyqt开发教程-搭建环境和开发示例
搭建环境和开发示例
* 安装
安装包
要对应python的版本
32位安装包(我PC上)
或 64位安装包
安装目录
指定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开发教程-搭建环境和开发示例的更多相关文章
- Xamarin Andro教程搭建Xamarin Androidid开发环境(一)
Xamarin Andro教程搭建Xamarin Androidid开发环境(一) "工欲善其事,必先利其器".对于程序员来说,编程的环境就是其手中的利器.如果没有一个合适方便的编 ...
- Xamarin开发教程如何使用Xamarin开发Android应用
Xamarin开发教程如何使用Xamarin开发Android应用 如何使用Xamarin开发Android应用 在了解了Xamarin和Andriod系统之后,下面我们需要了解一下如何使用这些工具和 ...
- web前端开发教程系列-1 - 前端开发编辑器介绍
目录: 前言 一. Webstorm 1. 优点 2. 缺点 3. 教程 4. 插件 5. 技巧 二. SublimeText 1. 优点 2. 缺点 3. 教程 4. 插件 5. 技巧 前言 由于很 ...
- [ PyQt入门教程 ] PyQt5环境搭建和配置
PyQt入门系列教程主要目的是希望通过该系列课程学习,可以使用PyQt5工具快速实现简单的界面开发,包括界面设计.布局管理以及业务逻辑实现(信号与槽).简单说就是可以使用PyQt5工具快速画一个控件摆 ...
- vue + cesium开发(5) 搭建 vue + cesium开发环境(2)
上vue+cesium开发(1)中,没有进行配置webpack,而是使用了插件进行代替,在使用过程中出现了一些未知BUG,影响体验,因此参考了官方文档对项目进行重新配置,使用了 copy-webpac ...
- Unity3D开发之搭建Mac OS开发环境
运行图 首先上几张图 IOS模拟器 坚屏 横屏 打包任务 摸索了一上午,才搞定在模拟器中运行.至于在Iphone真机中运行,虽然有开发者证书,目前还没在Xcode中配置好. 我今天第一次接触并使用MA ...
- web前端开发教程系列-4 - 前端开发职业规划
前言 关于我:小天 1). 架构师,项目经理,产品经理 2). 中间件研发 3). VPCC 云计算基础平台管理 4). 智慧旅游 5). 智慧教育 6). 一次失败的创业体验(爱邂逅网) 一. 在开 ...
- web前端开发教程系列-3 - 前端开发调试工具分享
前言 一. Bug出现的原因 1. 主观原因或者是出现这么多浏览器的原因 2. 另外客观原因: 二. 调试工具 1. Firebug 2. Chrome 3. IE11 4. IETester 5. ...
- 微信公众帐号开发教程第4篇-----开发模式启用及接口配置Java
欢迎加入群:347245650 345531810 进行讨论相互交流 我的微信号:572839485 我的微信公众账号 我的微社区欢迎关注 索取源码←请点击 图床:没有服务器 拖拽图片 外网即 ...
随机推荐
- STL MAP 反序迭代
ITS_NOTICE_MAP::reverse_iterator it = noticeMap.rbegin(); for ( ; it != noticeMap.rend(); ++it ) { I ...
- Python进阶之闭包
闭包 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB","S ...
- IOS 访问系统粘贴板
粘贴板提供了一种核心OS特性,用于跨应用程序共享数据.用户可以跨应用来复制粘贴,也可以设置只在本应用中复制粘贴用来保护隐私. UIPasteboard类允许访问共享的设备粘贴板以及内容,下面代码返回一 ...
- 游标-----内存中的一块区域,存放的是select 的结果
游标-----内存中的一块区域,存放的是select 的结果 游标用来处理从数据库中检索的多行记录(使用SELECT语句).利用游标,程序可以逐个地处理和遍历一次检索返回的整个记录集 ...
- delphi新语法之泛型实现的对象池模板
现在的DELPHI因为支持泛型的语法,所以也能支持模板编程了. // 标准模板 unit UntPools; interface uses Classes, SysUtils, Unt ...
- 一个简单的RTTI实现
RTTI是"Runtime Type Information"的缩写,意思是:运行时类型信息.它提供了运行时确定对象类型的方法. 最近在写的一些东西,不想使用MFC之类的框架,但是 ...
- android 设置头像以及裁剪功能
在android的开发过程中,经常遇到设置用户头像以及裁剪图像大小的功能.昨天我遇到了设置用户头像的功能,开始不知道怎么搞,在技术群里问也没人回 答,就研究了微信用户设置头像的功能,了解到用户设置图像 ...
- printf("%d, %d\n", i++, ++i)的输出结果是确定的吗???
1. 问题描述 以下代码的输出结果是什么? 题目1: ; printf("%d, %d\n", i++, ++i); 题目2: ; printf("%d, %d, %d, ...
- SQL Server 使用ROW_NUMBER()进行分页
代码示例: WITH domain AS(SELECT ROW_NUMBER() OVER(ORDER BY ID DESC) ids,* FROM dbo.DomainInfo) SELECT * ...
- Linux下文件及目录的一些操作(附递归遍历目录源码)
1.获取当前工作目录 #include <unistd.h> 1.char *getcwd(char *buf,size_t size); 2. 3.其中,buf为缓冲区地址,size为给 ...