不二如是 发表于 2019-9-3 08:28:57

弃 PyQt 转投 PySide2 怀抱?!【小甲鱼最新课程要来啦?】

本帖最后由 不二如是 于 2019-9-4 08:03 编辑


观光(遗迹):传送门

作为 3 年前的一名前渣渣 Qt 开发工程师,曾一度想振兴论坛的 Qt 板块,然鹅,拥抱真实的现实好了。

今天,是时候再次起航了,因为 PySide2 来了!

看一段深夜和鱼C至霸,小甲鱼老师(防暴露,已隐藏)的一段微信对话:


这段对话隐藏的彩蛋:
**** Hidden Message *****

2、右边可爱的头像原图:


3、小甲鱼老师没有在中国?

好啦,说正题!

为什么要用 PySide2



PySide 是跨平台的应用程序框架 Qt 的 Python 绑定版本。

在 2009 年 8 月,PySide 首次发布。

提供和 PyQt 类似的功能,并相容 API 。

但与 PyQt 不同处为使用 LGPL 授权。
(PyQt 是 GPLv3 协议,关于协议差别,我放在文章最后说明)

Pyside2 正式版是在今年(2019)7 月 27 发布的:

官网:传送门

已经直接支持 pip 安装:

pip install PySide2
对于不同系统有不同的安装方式,本人用的 Mac,静待安装完成即可:


支持最新的 Python 3.7:


Pyside 这种架构(QML),就是现在微信小程序玩法的鼻祖,随便来段代码感受下。

在 view.qml 编辑代码如下:

// 导入Qt附带的内置QML类型(如Rectangle,Image,...)
import QtQuick 2.0

// 使用Rectangle类型声明根元素,Rectangle类型是在QML中创建应用程序的基本构建块之一
Rectangle {
        // id用于标识该元素
    id: page
    // 设置元素属性
    width: 500; height: 200
    color: "lightgray"

        // 添加Text元素作为Rectangle元素的子元素以显示文本
    Text {
      id: helloText
      text: "Hello world!"
      // 使用其y属性将其定位在距其父级顶部30px的位置
      y: 30
      // 指定Text元素在Rectangle元素中水平居中
      anchors.horizontalCenter: page.horizontalCenter
      // 文本属性设置
      font.pointSize: 24; font.bold: true
    }
}

在 main.py 中编辑代码如下:

from PySide2.QtWidgets import QApplication
from PySide2.QtQuick import QQuickView
from PySide2.QtCore import QUrl

app = QApplication([])
view = QQuickView()
url = QUrl("view.qml")

view.setSource(url)
view.show()
app.exec_()
效果图:



PySide2 支持 Qt5,下载完直接用,过两天有心情写个简单教程{:10_297:} 。

不过大家可以看看官方的教程(没错,全英):传送门



跟着小甲鱼老师学就完了,不要在乎发型,安慰自己:
至少又变强啦{:10_256:}



协议隐含未来

PyQt 是商业及 GPL 的版权, 而 PySide 是 LGPL 。

也就是如果使用 PyQt 做商业应用的话就需要付费, 而使用 Nokia 的 PySide 则不需要。

自从 Nokia 收购了 Qt, 一直大力推广 Qt 。

最新的 PySide 已经支持 MS Windows,而且是 LGPL 的。

相信 PySide 未来会比 PyQt 更强大易用。

按照 Nokia 的说法是会更加 Pythonic (Python 化)。



如果有收获,别忘了评分{:10_281:} :

http://xxx.fishc.com/forum/201709/19/094516hku92k2g4kefz8ms.gif

毛毛不爱读书 发表于 2019-9-3 08:52:57

我要学《Python也能做出炫酷的界面》课程!!!必须学,无以复加的渴望中{:10_297:}

祁钰 发表于 2019-9-3 09:27:43

我要学《Python也能做出炫酷的界面》课程!!!必须学,无以复加的渴望中{:10_297:}

~风介~ 发表于 2019-9-3 09:40:40

我要学《Python也能做出炫酷的界面》课程!!!必须学,无以复加的渴望中{:10_297:}

余生愿你常欢笑 发表于 2019-9-3 12:39:29

我要学《Python也能做出炫酷的界面》课程!!!必须学,无以复加的渴望中{:10_297:}

qzq 发表于 2019-9-3 16:55:38

我要学《Python也能做出炫酷的界面》课程!!!必须学,无以复加的渴望中{:10_297:}

scwuyuwei 发表于 2019-9-3 17:02:44

我要学《Python也能做出炫酷的界面》课程!!!必须学,无以复加的渴望中{:10_297:}

一只柯基 发表于 2019-9-3 17:28:23

我要学《Python也能做出炫酷的界面》课程!!!必须学,无以复加的渴望中{:10_297:}

henry2018 发表于 2019-9-3 18:40:36

我要学《Python也能做出炫酷的界面》课程!!!必须学,无以复加的渴望中{:10_297:}

继续思索 发表于 2019-9-4 01:49:31

{:10_256:} 已期待这个好久,支持,力顶!!!!

Chuen_yu 发表于 2019-9-4 08:23:26

我要学《Python也能做出炫酷的界面》课程!!!必须学,无以复加的渴望中{:10_297:}

lucky邪神 发表于 2019-9-4 08:36:06

我要学《Python也能做出炫酷的界面》课程!!!必须学,无以复加的渴望中{:10_297:}

搞点不一样的东西玩,虽然还没做过实际项目{:5_109:}

hey_li 发表于 2019-9-4 09:20:40

我要学《Python也能做出炫酷的界面》课程!!!必须学,无以复加的渴望中{:10_297:}

helloconan 发表于 2019-9-4 09:34:41

我要学《Python也能做出炫酷的界面》课程!!!必须学,无以复加的渴望中{:10_297:}

rock5442107 发表于 2019-9-4 12:21:18

我要学《Python也能做出炫酷的界面》课程!!!必须学,无以复加的渴望中{:10_297:}

lorz5 发表于 2019-9-4 12:33:14

我要学《Python也能做出炫酷的界面》课程!!!必须学,无以复加的渴望中{:10_297:}

克里斯保罗 发表于 2019-9-4 15:50:35

我要学《Python也能做出炫酷的界面》课程!!!必须学,无以复加的渴望中{:10_297:}

jinlovelive 发表于 2019-9-4 16:12:18

我要学《Python也能做出炫酷的界面》课程!!!必须学,无以复加的渴望中{:10_297:}

塔利班 发表于 2019-9-4 16:20:27

我要学《Python也能做出炫酷的界面》课程!!!必须学,无以复加的渴望中{:10_297:}

永恒的蓝色梦想 发表于 2019-9-4 19:14:25

滑稽
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: 弃 PyQt 转投 PySide2 怀抱?!【小甲鱼最新课程要来啦?】