1.Pyside的简介

PySide(在本文中指代PySide2和PySide6) 是一个Python的图形化界面(GUI)库,由C++版的Qt开发而来,在用法上基本与C++版没有特别大的差异。PySide 是一个python绑定的跨平台图形化界面 Qt库。

​ PySide是由诺基亚公司开发的,简单来说就是其Qt库的Python移植(原先是C++的)。目前,支持Python的Qt库有两个PyQt和PySide,PySide是PyQt 的兄弟,常被网友戏称为诺基亚的亲儿子。PySide是一个免费的软件,与PyQt不同之处在于使用了LGPL,允许PySide免费的开发商业软件。

​ PySide和PyQt的关系,前者是Qt公司的产品,后者是第三方公司的产品,二者用法基本相同。不过,在使用协议上却有很大差别,PySide可以在LGPL协议下使用,PyQt则在GPL协议下使用。

​ PySide的主要对手是PyQt。PyQt出现得比PySide早,但是PySide血统更纯正一些(毕竟是亲儿子)。但是具体应用两者差不多,因为目前Qt的IDE也没有把Python弄进去,要实现同样功能两者要进行的操作大同小异。PyQt个人应用免费,但是商业应用要收钱,相比下PySide的个人和商业双免费的策略更让人放心一些。

​ PySide为我们提供了两种开发界面的方式,一种是QtWidget,早期比较常见;另一种叫QML,是一种新型的开发方式,这也是Qt正在努力推广的开发方式。

2.pyside的安装

​ 首先在Anaconda中,安装Pysidde,其各种版本的正确搭配:

pyside2:Qt5,Python2.7/Python>=3.5

pyside6: Qt6, Python>=3.6

pip install PySide6

​ 其中 pyside 安装包大概112M,可能需要等待安装几分钟,安装完成后:有的朋友,网络比较慢,可以指定国内的安装源,下载安装。比如,使用豆瓣源下载安装:

pip install pyside2 -i https://pypi.douban.com/simple/

​ 下一步验证安装,ananconda,下输入如下的代码以检查:

import PySide6.QtCore

# 打印PySide6版本
print(PySide6.__version__) # 打印用于编译PySide6的Qt版本
print(PySide6.QtCore.__version__)

3.pyside的Hello world程序

import random
import sys from PySide6.QtCore import Qt, Slot
from PySide6.QtWidgets import (QApplication, QLabel, QPushButton,
QVBoxLayout, QWidget)
from __feature__ import snake_case, true_property class MyWidget(QWidget):
def __init__(self):
QWidget.__init__(self) self.hello = [
"Hallo Welt",
"你好,世界",
"Hei maailma",
"Hola Mundo",
] self.button = QPushButton("Click me!")
self.message = QLabel("Hello World")
self.message.alignment = Qt.AlignCenter self.layout = QVBoxLayout(self)
self.layout.add_widget(self.message)
self.layout.add_widget(self.button) # Connecting the signal
self.button.clicked.connect(self.magic) @Slot()
def magic(self):
self.message.text = random.choice(self.hello) if __name__ == "__main__":
app = QApplication(sys.argv) widget = MyWidget()
widget.show() sys.exit(app.exec_())

其运行结果如下:

4.参考文献及网站连接

https://www.byhy.net/tut/py/gui/qt_01/

https://doc.qt.io/qtforpython-6/gettingstarted/porting_from2.html

https://www.qt.io/qt-for-python

https://blog.csdn.net/qq_41185868/article/details/126895643

(一)Qt与Python—PySide的简介及安装的更多相关文章

  1. 【python】-- MySQL简介、安装、操作

    MySQL简介.安装.操作 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将数据存储 ...

  2. python paramiko模块简介及安装

    一:简介 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 由于使用的是python这样的能够跨平台运行的语言,所以所有python支 ...

  3. python框架Django简介与安装

    Django简介 关注公众号"轻松学编程"了解更多. 发布于2005年,最负盛名且成熟的Python网络框架 最初用来制作在线新闻的Web站点 开源Web框架,遵守BSD协议 BS ...

  4. Maya Max python PySide集成 shiboken版本对应关系

    Maya_Max _python_PySide集成_shiboken版本对应关系 1.如何查看 Maya Max 集成的 Python版本: Maya:在 Maya 的安装目录下的 bin 文件夹中找 ...

  5. Python生态环境简介[转]

    Python生态环境简介 作者: Mir Nazim 原文: Python Ecosystem - An Introduction 译者: dccrazyboy  原译: Python生态环境简介 当 ...

  6. PYTHON简介及安装

    Python简介 Python是一种广泛使用的高层次,通用,解释,动态编程语言.它的设计理念强调代码的可读性,它的语法允许程序员表达更少的代码的概念比将在可能语言如C ++或Java.该语言提供旨在使 ...

  7. Python初识与简介【开篇】

    目录 1.扯淡 2.Python历史 3.Python简介 4.Python应用 5.为什么是python而不是其他语言? 6.Python的种类 7.Python的特点 8.Python设计哲学 9 ...

  8. (转)python生态环境简介

    Python生态环境简介 作者: Mir Nazim 原文: Python Ecosystem - An Introduction 译者: dccrazyboy  原译: Python生态环境简介 当 ...

  9. Python 3 mysql 简介安装

    Python 3 mysql 简介安装 一.数据库是什么 1.  什么是数据库(DataBase,简称DB) 数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合.数据 ...

  10. python简介与安装

    Python简介和环境搭建 于 20世纪80年代末,Guido van Rossum发明了Python,初衷据说是为了打发圣诞节的无趣.1991年首次发布,是ABC语言的继承,同时也是一种脚本语言.取 ...

随机推荐

  1. 【软件】Ubuntu下QT的安装和使用

    [软件]Ubuntu下QT的安装和使用 零.前言 QT是应用得比较广泛的程序框架,是因为其跨平台特性比较好,且用C/C++作为开发语言,性能也比较好,故本文介绍如何安装和使用QT,用的版本是QT 6. ...

  2. luogu-P5320题解

    简要题意 设 \(f(n)\) 表示用多米诺骨牌恰好铺满 \(2\times n\) 的平面的方案数,\(g(n)\) 表示用多米诺骨牌恰好铺满 \(3\times n\) 的平面的方案数:设 \(F ...

  3. exim4

    exim4 一台 debian 机器日常执行 apt update 后发现需要更新如下软件包, 之前没见过, 特此记录下. root@idebian:~# apt list --upgradable ...

  4. 《数组》--DAY2--快慢指针法

    1.什么是双指针? 双指针,指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向(快慢指针)或者相反方向(对撞指针)的指针进行扫描,从而达到相应的目的. 2.快慢指针 2.1 ...

  5. public synchronized boolean add(E e)方法源码

    public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, C ...

  6. 🎀java-自定义日志注解

    简介 创建自定义日志注解,对相关接口记录请求日志. 环境 SpringBoot 实现 注解定义 定义注解类 package com.zk.app.annotation; import com.zk.a ...

  7. 即时通信SSE和WebSocket对比

    Server-Sent Events (SSE) 和 WebSocket 都是用于实现服务器与客户端实时通信的技术,但它们在设计目标.协议特性和适用场景上有显著区别.以下是两者的详细对比: 一.核心区 ...

  8. 前端自动打包工具webpack的安装和使用

    一.准备 要使用webpack工具,最好了解一些基础的文件目录操作的命令行, win all里的一些常用的命令行 http://blog.csdn.net/qq_36110571/article/de ...

  9. php 设置友好时间

    public static function formatTime($time){ if (is_int($time)) { $time = intval($time); } elseif ($tim ...

  10. CTF你真的懂PHP吗--PHP代码审计

    http://ctf5.shiyanbar.com/web/PHP/index.php 就是一个纯代码审计 访问.txt地址撸一把源码 进行分析 <?php $info = "&quo ...