qt for python对比pyqt_PyQt4和electron的第二轮对比

本文对比了PyQt4和qt for python的开发体验,强调了Python语言在开发效率、可移植性和丰富的库支持方面的优势。通过一个简单的UI示例展示了PyQt4易于上手的特点,并提及了团队开发的便利性。此外,还列举了PyQt相关社区和知名项目,突出其运行速度、小巧的打包体积以及强大的功能。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值