1.开发技术
今天由我再次向大家介绍一下PyQt4
PyQt主要是基于Python的代码上构建起来的 那么Python有什么优势呢,当然qt也就有了这部分优势了
跟C/C++/Java相比 — Python能让你用少的多的多的代码写出相同的程序
Python被广泛应用于后端开发、游戏开发、网站开发、科学运算、大数据分析、云计算,图形开发等领域
各方面地位超然 Python在软件质量控制、提升开发效率、可移植性、组件集成、丰富库支持等各个方面均处于先进地位
简单易学 python具有 简单、易学、免费、开源、可移植、可扩展、可嵌入、面向对象 等 优点
不仅Python简单容易上手 PyQt也容易上手,而且顺手拈来的方便 你需要的绝大部分功能都有插件或者封装好的函数库帮你实现
这里我做个简单的小demo开发
--
开发到底有多容易 随意创建一个ui文件加入下面这句话就可以跑了
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap('ri.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
Dialog.setWindowIcon(icon)
--
from functools import partial
class App(QtGui.QMainWindow, Ui_Dialog):
def __init__(self, parent = None):
QtGui.QMainWindow.__init__(self, parent)
self.setupUi(self)
self.pushButton.clicked.connect(partial(self.on_click, 'shenme'))
def on_click(self, n):
self.textEdit.append(n)
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
ui = App()
ui.show()
sys.exit(app.exec_())
--
所以基本上有点if else基础的人都能马上上手开发 我第一次接到要开发工具任务的时候一天就学会了
它的搭建界面和我们用lua写游戏差不多 我们把一个组件加进来然后调节他的大小 颜色 各种参数就可以了
通用的可以封装好一些类 封装自己的api 后来的人就很容易学习前人的代码和示例了
像QT这种随意拖动而生成的界面,比起网页来说的优势 支持各个组件的相互重叠,放置更随意 举个栗子 字母的随意移动
他可能不是很优美 但是它很恰到好处 不像C++那么复杂
当然如果要搭建好的界面当然也需要用心的设计功底,这中没有样式限制的开发模式更随意 当然有美术支持的话能做出漂亮的东西
然后它还有悠久的历史,从诺基亚时代就有了 Qt库是目前最强大的库之一,在桌面开发 在自动化selenium\win32api OpenGl 在物理引擎 等等各方面都做的不错
和很多语言都具有交互性 比如html与预览
它的打包也非常简单 直接运行setup.py就可以了
2.开发工具
刚才我所展示的开发甚至看起来不需要工具 直接双击就能运行,或者右键Edit with IDLE 也可以用Eclipse或者PyCharm,凡事图个方便
我现在习惯用的sublime Text 不仅是良好的编辑器而且非常方便就一键运行了
3.团队开发模式
因为每一个.py文件都可以独立运行 就类似于游戏的每个场景,每个层都是分开的
因此定好接口每个人独立开发自己的模块非常方便
展示一下轻模板 之再开发模式
当然并不是每个人都喜欢轻模板开发 自己好好的可以看到报错 可以调试多好 用Eclipse也是不错的
每个组件分配清除 团队很容易就可以在一起配合着开发
4.比较明显的优势
运行速度快 双击直接打开了 没有延迟感,不会停顿一小会才打开
打出来的包可以控制,比较小 举个栗子 只包含qt的gl库打出来的包也就6m
列出PyQt可以比较好做到的事情
1.随意拖动控件位置
2.精简的代码,快速的上手
3.基本上每个组件都有示例demo 这里稍微展示下上周找的 qtdemo
4.和其他语言比较好的交互性 html shell c++ 至少这些
5.有着大量的函数库和使用人数 python本身就能做到很多事情 这些事情pyqt也能做
6.代码接近底层 操作速度快
5.最后列出收集的几个社区
1. 列举Pyqt成熟社区5个。
-- 开源中国社区
https://www.oschina.net/question/tag/pyqt
-- PyQt4的中文文档
http://www.qaulau.com/books/PyQt4_Tutorial/index.html
-- 知乎的关于pyqt
https://www.zhihu.com/search?type=content&q=pyqt
-- csdn pyqt4
http://www.csdn.net/tag/pyqt4
-- 中国的github 码云
http://git.oschina.net/search?utf8=%E2%9C%93&search=pyqt&group_id=&project_id=
2. pyqt知名度较高的成品10个。
-- PyQt4的作者 里面有源码 还有很多Sanmple 另一个是PyQt5的
https://github.com/spanners/pyqt4-examples
https://github.com/baoboa/pyqt5
-- Qmusic
http://dragondjf.github.io/QMusic/
-- 网易云音乐山寨版本
https://github.com/HuberTRoy/NetEase
-- PyQt的文档
http://nullege.com/codes/show/src@p@y@PyQt4-HEAD@examples@designer@plugins@widgets@helloglwidget.py/27/PyQt4.QtOpenGL/python
-- IcePlayer 冰点播放器
https://github.com/FreedomZZQ/IcePlayer
-- Pyqt 代码分享 好多个 但是没有特别上眼的
http://www.oschina.net/code/tag/PyQt?show=year
-- Qt在线工具
http://tool.oschina.net/apidocs/apidoc?api=qt
-- OSChina For PC 是一个osc pc客户端 虽然不知道做什么用 好像很厉害的样子
http://git.oschina.net/fantsme/oschina-for-pc
-- PyQt写的一些小控件和小程序
http://git.oschina.net/6929092/TOOLS
-- 用 PyQt + QML 实现的 FlappyBird 游戏
http://git.oschina.net/nexcvon/FlappyBird