PySide6学习笔记--基础环境的安装配置

PySide6介绍

QT官方发布Qt6.0之后,紧接着于2020年12月10日发布了PySide 6,对应C++版的Qt6。从PySide6开始,PySide的命名也会与Qt的大版本号保持一致。需要注意的是使用PySide6开发的程序在默认情况下,不兼容Windows7系统,这也是Qt6所决定的。

PySide为我们提供了两种开发界面的方式,一种叫QtWidget,是在网上搜到的教程中最常见的方式;另一种叫QML,是一种新型的开发方式,也是Qt正在努力推广的开发方式。在本系列的文章中,我们主要使用QtWidget这种方式,而使用QtWidget开发程序时,也有两种基本的使用方法,一种是通过designer开发界面,另一种是用过代码手动开发界面,这里我们的目的是极简快速入门,所以使用designer这种方便的方式进行开发。

如果有老系统如win7以下的话,还的使用一段时间pyqt5

1.vscode插件的安装 

  • 插件的安装

  • 在vscode中安装Python与 QT for Python和code runner插件(推荐)

2.安装PySide6“”包文件

pip install PySide6

3. 配置QT for python 插件

点击插件 设置-拓展设置 找到你的PySide 安装位置 通常安装位置在你的python安装环境下的Script下

3.1“D:\Python\Python311\Scripts”,找到你的python安装包,中Scripts文件夹下

在这个路径下找到三个文件

【这个是我的文件内容,你自己的根据实际情况再python安装目录下的Scripts文件夹下】

D:\Python\Python311\Scripts\pyside6-designer.exeD:\Python\Python311\Scripts\pyside6-rcc.exeD:\Python\Python311\Scripts\pyside6-uic.exe

 

上述的配置完毕了,测试是否成功

4.验证是否安装完毕以及是否正确

4.1设计工具是否安装正确

 

 

4.2代码验证功能,测试代码

import sys
from PySide6 import QtWidgetsapp = QtWidgets.QApplication(sys.argv)
winget = QtWidgets.QWidget()
winget.resize(360, 360)
winget.setWindowTitle("Hello, PySide6!")
winget.show()
sys.exit(app.exec_())

 

4.3测试gui文件转换python代码事项

第一步,创建一个柜文件

 第二步,保存文件到程序的目录下

 第三步:编译代码为python文件【在vscode中会自动帮我们把ui文件转换为py文件】

第四部创建一个“call_ui.py”文件调用图形界面文件的代码

图形转换为python代码的主要内容

call_ui.py代码

# -*- coding:utf-8 -*-
# 导入 login_ui
from login_ui import *
from PySide6.QtWidgets import QApplication, QMainWindow
import sys# 继承 Ui_MainWindow类class MyMainWindow(QMainWindow, Ui_Form):def __init__(self):super().__init__()self.setupUi(self)if __name__ == "__main__":app = QApplication(sys.argv)myWin = MyMainWindow()myWin.show()sys.exit(app.exec_())

运行代码,界面显示

 通过上述的测试,我们安装环境以及测试验证环境已经成功,后续可以写代码l


 代码示例2:

示例2-1:单击右键,选择Create QT UI File(Designer),打开QT Designer。

 示例2-2:一般选择Windget这个窗口

 

  示例2-3:放置一个按钮,同时修改对象名称为“pushButton_OK”,后面使用

 保存后

编译为python代码【ui-->*.py文件】

 示例2-4,然后新建main.py文件,调用图像界面生成的代码

import sysfrom PySide6 import QtWidgets
from PySide6.QtWidgets import *from button_ui import Ui_Formclass MainWindow(QMainWindow,Ui_Form):def __init__(self) :super().__init__()self.setupUi(self)self.pushButton_OK.clicked.connect(self.click)def click(self):self.pushButton_OK.setText("测试")print("点击了!!!@")if __name__ == '__main__':app = QApplication(sys.argv)win = MainWindow()win.setWindowTitle("第一个程序")win.show()app.exit(app.exec_())

 示例2,有事件函数,在处理中

5.总结

随着pyqt6的快速普及使用,我们也是应该快了解pyside6,这两个的区别不是很大,具体的区别可以自己百度【我们个人理解就是这两个内容基本一样就是可以了】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/47290.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测试框架pytest教程(4)运行测试

运行测试文件 $ pytest -q test_example.py 会运行该文件内test_开头的测试方法 该-q/--quiet标志使输出保持简短 测试类 pytest的测试用例可以不写在类中,但如果写在类中,类名需要是Test开头,非Test开头的类下的test_方法不会被搜集为用…

初识微服务

我们在曾经最常见的就是所谓的单体架构,但是由于网民越来越多,单体架构已经逐渐的被淘汰出去,所以我们在单体架构的基础上提出了微服务,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合&#xff0…

vue 使用nvm控制node 版本,随意切换 node 版本

1.nvm 下载安装 https://github.com/coreybutler/nvm-windows/releases 找自己版本 1.安装版本 nvm list available // 查看所有node 版本 nvm install 版本号 // 安装指定版本号2.nvm 列表展示 nvm list //展示所有版本号3.nvm 切换环境 nvm use 版本号 // 切换版本4.…

登录 jwt ,filter

cookie 在请求头中叫做cookie,在响应头中叫set-cookie GetMapping("/c1")public Result cookie1(HttpServletResponse resp){resp.addCookie(new Cookie("login_name","itheima"));return Result.success();}GetMapping("/c2&qu…

Postman的高级用法—Runner的使用​

1.首先在postman新建要批量运行的接口文件夹,新建一个接口,并设置好全局变量。 2.然后在Test里面设置好要断言的方法 如: tests["Status code is 200"] responseCode.code 200; tests["Response time is less than 10000…

三维模型OSGB格式轻量化的纹理压缩和质量保持分析

三维模型OSGB格式轻量化的纹理压缩和质量保持分析 在三维模型应用中,纹理数据是一个重要的部分,可以为模型增加更多的真实感和细节。但是,由于纹理数据通常会占用大量的存储空间和传输带宽,因此,在OSGB格式轻量化处理中…

几个Web自动化测试框架的比较:Cypress、Selenium和Playwright

介绍:Web自动化测试框架对于确保Web应用程序的质量和可靠性至关重要。它们帮助开发人员和测试人员自动执行重复性任务,跨多个浏览器和平台执行测试,并在开发早期发现问题。 以下仅代表作者观点: 本文探讨来3种流行的Web自动化测…

触摸屏与PLC之间 EtherNet/IP无线以太网通信

在实际系统中,同一个车间里分布多台PLC,用触摸屏集中控制。通常所有设备距离在几十米到上百米不等。在有通讯需求的时候,如果布线的话,工程量较大耽误工期,这种情况下比较适合采用无线通信方式。 本方案以MCGS触摸屏和…

视频云存储/安防监控EasyCVR视频汇聚平台如何通过角色权限自行分配功能模块?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、…

LLM生成式 AI 项目生命周期Generative AI project lifecycle

在本课程的其余部分中,您将学习开发和部署LLM驱动应用所需的技巧。在这个视频中,您将了解一个能帮助您完成此工作的生成式AI项目生命周期。此框架列出了从构思到启动项目所需的任务。到课程结束时,您应该对您需要做的重要决策、可能遇到的困难…

编写一个俄罗斯方块

编写俄罗斯方块 思路。 1、创建容器数组,方块, 2、下落,左右移动,旋转,判断结束,消除。 定义一个20行10列的数组表示游戏区。初始这个数组里用0填充,1表示有一个方块,2表示该方块固…

结构型(三) - 享元模式

一、概念 享元模式(Flyweight Pattern):所谓“享元”,顾名思义就是被共享的单元。享元模式的意图是复用对象,节省内存,前提是享元对象是不可变对象。 优点:可以极大地减少内存中对象的数量&am…

mysql通过binlog日志恢复误删数据

1、先查看binlog功能是否开启 show variables like %log_bin%;log_bin为ON说明可以使用binlog恢复,如果为OFF说明没有开启binlog。 2、删除部分数据做测试 3、查找binlog文件位置 show variables like %datadir%;cd /var/lib/mysqlls -l删除数据时间是在文件154与…

redis数据类型详解+实例

redis中的数据类型: string,list, set, zset, hash,bitmaps, hyperloglog, gepspatial 目录 一、 String 二、List 三、Set 四、Zset 五、Hash 六、Bitmaps 七、Hyperloglog 八、Gepspatial 一、 String redis最基本的数据类型,一个…

微信小程序使用云存储和Markdown开发页面

最近想在一个小程序里加入一个使用指南的页面,考虑到数据存储和减少页面的开发工作量,决定尝试在云存储里上传Markdown文件,微信小程序端负责解析和渲染。小程序端使用到一个库Towxml。 Towxml Towxml是一个可将HTML、Markdown转为微信小程…

一体全栈、开箱即用!麒麟信安与灵雀云携手打造“操作系统+云平台”联合解决方案

近日麒麟信安与北京凌云雀科技有限公司(以下简称“灵雀云”)开展生态合作,共同完成了灵雀云企业级全栈云原生平台ACPV3与麒麟信安操作系统V3等系列产品的兼容性认证测试。基于双方产品兼容性良好、稳定运行、性能表现卓越,麒麟信安…

Java实现钉钉企业内部应用机器和自定义机器人发送消息

前言 公司让写一个服务监控的功能,当监测到服务停止时,向钉钉群里推送报警信息。之前大概看到钉钉的开放平台的API文档,好像能群发消息的只有机器人。 钉钉开放平台目前提供三种机器人: 企业内部应用机器人 群模板机器人 自定义机器人 本来向用自己比较熟悉的自定义机器人…

PHP自己的框架实现操作成功失败跳转(完善篇四)

1、实现效果,操作成功后失败成功自动跳转 2、创建操作成功失败跳转方法CrlBase.php /**成功后跳转*跳转地址$url* 跳转显示信息$msg* 等待时间$wait* 是否自动跳转$jump*/protected function ok($urlNULL,$msg操作成功,$wait3,$jump1){$code1;include KJ_CORE./tp…

【快速解决方案】浏览器的安全策略不允许通过 file:// 协议直接加载外部文件(最省事的方法)

目录 问题摘要 解决办法 检验结果 问题摘要 Failed to load resource: net::ERR_FILE_NOT_FOUND🌈 Cute Code Editor 🌈.html:162 Fetch API cannot load file:///D:/%E6%A1%8C%E9%9D%A2/%E4%B8%83%E5%A4%95%E5%BF%AB%E4%B9%90/index.txt. URL scheme …

Spring Boot

前言 什么是Spring Boot?为什么要学Spring Boot? Spring 的诞⽣是为了简化Java 程序的开发的,⽽Spring Boot 的诞⽣是为了简化Spring 程序开发 的。Spring就像汽车,相比以前人只能其自行车走路,汽车可以帮助人们更快…