pyside2 系列之介绍,安装,简单例子

很多人都知道qt在python下有pyqt5,那为什么还要个pyside2呢?

大家可以参考下知乎的一篇文章,大致是说:

Pyside的诞生主要是Nokia与Riverbank Computing谈崩了的结果。

Riverbank Computing是pyQt的开发商,对pyQt采用GPLv3协议。Nokia主动与Riverbank Computing展开了多轮协商,表示希望pyQt能添加对LGPL协议的支持,这样对于很多商业用户会更友好,何况你在pyQt里使用的也是我们LGPL协议版本的Qt,这个要求不过分吧。Riverbank Computing说我觉得不行。Nokia一气之下决定单干,于2009年8月发布了支持了LGPL协议的PySide,pyQt的对标产品。

之前我也是一直使用pyqt5,因为开源协议商业化必须开源的问题,我最后选择pyside2。

PyQt是GPLv3协议,程序中用了它,你的程序就要开源。

PySide是LGPL协议,如果你只是作为库用用它,你的程序还是可以闭源商用。

如何安装pyside2

pyside2 现在最高版本 5.15.2,发布于2020年底

pip install pyside2 

简单例子  

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
@author: wind
@contact: 367059791@qq.com
@time: 2021/12/27 17:31
@file: demo_simple.py
@desc: 最简单例子
"""
import sys
from PySide2.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel
from PySide2.QtGui import QIcon
from PySide2.QtCore import Qt


class FirstDemoWidget(QWidget):
    def __init__(self, parent=None):
        super(FirstDemoWidget, self).__init__(parent)
        self.setWindowTitle("pyside2 示例1") #
        self.setWindowIcon(QIcon(r"C:\Users\Admin\Pictures\wnd.jpg")) #
        self.resize(600, 400) #

        layout = QVBoxLayout()
        layout.addWidget(QLabel("hello", self), alignment=Qt.AlignCenter) #
        self.setLayout(layout)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    wnd = FirstDemoWidget()
    wnd.show()
    sys.exit(app.exec_())

效果如下:

跟pyqt5相比,似乎只是导入名改变了!由PyQt5换成了PySide2。

这里笔者创建了一个窗口 FirstDemoWidget,设置了窗体标题(setWindowTitle);窗体图标;设置了窗体大小(setWindowIcon);放置了一个QLabel,使用居中对齐(Qt.AlignCenter),使用了垂直布局QVBoxLayout。

启动说明

app = QApplication(sys.argv)  # 创建了app
sys.exit(app.exec_())  # app.exec_() 启动了主循环app.exec_()退出时会返回状态码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值