(一)Qt与Python—PySide的简介及安装
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的简介及安装的更多相关文章
- 【python】-- MySQL简介、安装、操作
MySQL简介.安装.操作 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将数据存储 ...
- python paramiko模块简介及安装
一:简介 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 由于使用的是python这样的能够跨平台运行的语言,所以所有python支 ...
- python框架Django简介与安装
Django简介 关注公众号"轻松学编程"了解更多. 发布于2005年,最负盛名且成熟的Python网络框架 最初用来制作在线新闻的Web站点 开源Web框架,遵守BSD协议 BS ...
- Maya Max python PySide集成 shiboken版本对应关系
Maya_Max _python_PySide集成_shiboken版本对应关系 1.如何查看 Maya Max 集成的 Python版本: Maya:在 Maya 的安装目录下的 bin 文件夹中找 ...
- Python生态环境简介[转]
Python生态环境简介 作者: Mir Nazim 原文: Python Ecosystem - An Introduction 译者: dccrazyboy 原译: Python生态环境简介 当 ...
- PYTHON简介及安装
Python简介 Python是一种广泛使用的高层次,通用,解释,动态编程语言.它的设计理念强调代码的可读性,它的语法允许程序员表达更少的代码的概念比将在可能语言如C ++或Java.该语言提供旨在使 ...
- Python初识与简介【开篇】
目录 1.扯淡 2.Python历史 3.Python简介 4.Python应用 5.为什么是python而不是其他语言? 6.Python的种类 7.Python的特点 8.Python设计哲学 9 ...
- (转)python生态环境简介
Python生态环境简介 作者: Mir Nazim 原文: Python Ecosystem - An Introduction 译者: dccrazyboy 原译: Python生态环境简介 当 ...
- Python 3 mysql 简介安装
Python 3 mysql 简介安装 一.数据库是什么 1. 什么是数据库(DataBase,简称DB) 数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合.数据 ...
- python简介与安装
Python简介和环境搭建 于 20世纪80年代末,Guido van Rossum发明了Python,初衷据说是为了打发圣诞节的无趣.1991年首次发布,是ABC语言的继承,同时也是一种脚本语言.取 ...
随机推荐
- 【软件】Ubuntu下QT的安装和使用
[软件]Ubuntu下QT的安装和使用 零.前言 QT是应用得比较广泛的程序框架,是因为其跨平台特性比较好,且用C/C++作为开发语言,性能也比较好,故本文介绍如何安装和使用QT,用的版本是QT 6. ...
- luogu-P5320题解
简要题意 设 \(f(n)\) 表示用多米诺骨牌恰好铺满 \(2\times n\) 的平面的方案数,\(g(n)\) 表示用多米诺骨牌恰好铺满 \(3\times n\) 的平面的方案数:设 \(F ...
- exim4
exim4 一台 debian 机器日常执行 apt update 后发现需要更新如下软件包, 之前没见过, 特此记录下. root@idebian:~# apt list --upgradable ...
- 《数组》--DAY2--快慢指针法
1.什么是双指针? 双指针,指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向(快慢指针)或者相反方向(对撞指针)的指针进行扫描,从而达到相应的目的. 2.快慢指针 2.1 ...
- public synchronized boolean add(E e)方法源码
public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, C ...
- 🎀java-自定义日志注解
简介 创建自定义日志注解,对相关接口记录请求日志. 环境 SpringBoot 实现 注解定义 定义注解类 package com.zk.app.annotation; import com.zk.a ...
- 即时通信SSE和WebSocket对比
Server-Sent Events (SSE) 和 WebSocket 都是用于实现服务器与客户端实时通信的技术,但它们在设计目标.协议特性和适用场景上有显著区别.以下是两者的详细对比: 一.核心区 ...
- 前端自动打包工具webpack的安装和使用
一.准备 要使用webpack工具,最好了解一些基础的文件目录操作的命令行, win all里的一些常用的命令行 http://blog.csdn.net/qq_36110571/article/de ...
- php 设置友好时间
public static function formatTime($time){ if (is_int($time)) { $time = intval($time); } elseif ($tim ...
- CTF你真的懂PHP吗--PHP代码审计
http://ctf5.shiyanbar.com/web/PHP/index.php 就是一个纯代码审计 访问.txt地址撸一把源码 进行分析 <?php $info = "&quo ...