|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 不二如是 于 2019-9-4 08:03 编辑
作为 3 年前的一名前渣渣 Qt 开发工程师,曾一度想振兴论坛的 Qt 板块,然鹅,拥抱真实的现实好了。
今天,是时候再次起航了,因为 PySide2 来了!
看一段深夜和鱼C至霸,小甲鱼老师(防暴露,已隐藏)的一段微信对话:
这段对话隐藏的彩蛋:
2、右边可爱的头像原图:
3、小甲鱼老师没有在中国?
好啦,说正题!
为什么要用 PySide2
PySide 是跨平台的应用程序框架 Qt 的 Python 绑定版本。
在 2009 年 8 月,PySide 首次发布。
提供和 PyQt 类似的功能,并相容 API 。
但与 PyQt 不同处为使用 LGPL 授权。
(PyQt 是 GPLv3 协议,关于协议差别,我放在文章最后说明)
Pyside2 正式版是在今年(2019)7 月 27 发布的:
已经直接支持 pip 安装:
对于不同系统有不同的安装方式,本人用的 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,下载完直接用,过两天有心情写个简单教程 。
不过大家可以看看官方的教程(没错,全英):传送门
跟着小甲鱼老师学就完了,不要在乎发型,安慰自己:
至少又变强啦
协议隐含未来
PyQt 是商业及 GPL 的版权, 而 PySide 是 LGPL 。
也就是如果使用 PyQt 做商业应用的话就需要付费, 而使用 Nokia 的 PySide 则不需要。
自从 Nokia 收购了 Qt, 一直大力推广 Qt 。
最新的 PySide 已经支持 MS Windows,而且是 LGPL 的。
相信 PySide 未来会比 PyQt 更强大易用。
按照 Nokia 的说法是会更加 Pythonic (Python 化)。
如果有收获,别忘了评分 :
|
评分
-
查看全部评分
|