对PySide6 say Hello(包含环境配置) ——PyQt

前言

一直想学一下python,特别是十一前抢票时达到顶峰。我正好是Qter,所以在网上找了一个教程直接学PyQt。

配置PyQt环境

当前环境

Win10+Qt5.15.2 +python3.11

之前安装python时好像自动安装了python的包管理工具pip,配置pyqt环境所需要安装的包都是使用pip进行安装的(在cmd中输入命令)。

在安装前可通过命令pip list查看已安装的包 ,看哪些没安装 ,根据下面的命令进行安装。

sip(Python调用C/C++模块

Python中使用C/C++模块有许多工具,大名鼎鼎的有SWIG(英文意思为:豪饮)、SIP(英文意思为:啜饮,小口的喝),还有boost.python等。其中SIP是从SWIG发展而来,专为Python调用C/C++模块使用的

pip install sip

关于使用:Python SIP使用总结(Win&Linux通用)-蒲公英云 

python GUI库(图形界面框架)

对于用python在Qt进行界面开发,有两个框架,PyQt5和PySide6,选哪个都可以,他们两个分别是不同的公司开发的,PyQt5早,PySide6晚,所以相对于的PyQt5的网上资料更多些。但是PySide6是Qt公司开发的,所以Qt Creator上推荐下载PySide6。还有。PySide是LGPL协议,LGPL协议是一个商业友好的协议使用 LGPL 协议开发闭源程序,如果你使用动态链接的形式,那么,你可以以任何形式(商业的、非商业的、开源的、非开源的等等)发布你的应用程序。

 PyQt5

pip install PyQt5

 PySide6

pip3 install PySide6

 Python LSP(Language Server Protocol)

 Python LSP(Language Server Protocol)是一种通过 JSON-RPC 通信协议实现的轻量级、跨编程语言的编写代码时的编辑器和工具语言服务器协议。Python LSP 是一种新的方式使编辑器能够更好地了解源代码的语义,并提供适当的补全、跳转、符号搜索、格式化等功能,暴露语言特定的 API 给编辑器/IDE。Python LSP 对于 Python 开发者来说是一个非常实用的工具。

pip install python-lsp-server

若由于一些局域网的原因,使用 pip 出现 “connection timeout”,连接超时可以使用国内的镜像网站下载:

  •  豆瓣:https://pypi.doubanio.com/simple/
  •  清华:https://pypi.tuna.tsinghua.edu.cn/simple

例如安装PyQt5可这么写: 

#python安装路径#\python.exe -m pip install PyQt5 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

具体关于pip的使用可以参考

Python pip 安装与使用 | 菜鸟教程

使用PySide6 say hello

由于我比较习惯使用Qt Creator 的编辑器,所以我使用的是PySide6框架进行开发的。然后因为我还不会使用python语言添加控件,所以我在创建平台时,选择了带有ui文件的

可选择pyside的版本:pyside2 或者pyside6

在创建完成后,可以看到生成了三个文件,

​ 

test.pyproject为项目文件,描述了此项目中包含的文件

{"files": ["widget.py", "form.ui"]
}

widget.py文件里包含了类Widget的声明和定义,和main函数

# This Python file uses the following encoding: utf-8
import sysfrom PySide6.QtWidgets import QApplication, QWidget# Important:
# You need to run the following command to generate the ui_form.py file
#     pyside6-uic form.ui -o ui_form.py, or
#     pyside2-uic form.ui -o ui_form.py
from ui_form import Ui_Widgetclass Widget(QWidget):def __init__(self, parent=None):super().__init__(parent)self.ui = Ui_Widget()self.ui.setupUi(self)if __name__ == "__main__":app = QApplication(sys.argv)widget = Widget()widget.show()sys.exit(app.exec())

 上面 from ui_form import Ui_Widget 即是对ui文件的引用(包含),我在ui文件中添加了一个Label ,在对此项目运行后,打开ui文件所在路径,可看到已经生成了一个py文件:“ui_form.py”

具体代码如下:

# -*- coding: utf-8 -*-################################################################################
## Form generated from reading UI file 'form.ui'
##
## Created by: Qt User Interface Compiler version 6.6.0
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,QMetaObject, QObject, QPoint, QRect,QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,QFont, QFontDatabase, QGradient, QIcon,QImage, QKeySequence, QLinearGradient, QPainter,QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QLabel, QSizePolicy, QWidget)class Ui_Widget(object):def setupUi(self, Widget):if not Widget.objectName():Widget.setObjectName(u"Widget")Widget.resize(800, 600)self.label = QLabel(Widget)self.label.setObjectName(u"label")self.label.setGeometry(QRect(310, 230, 141, 61))font = QFont()font.setPointSize(20)font.setBold(True)self.label.setFont(font)self.retranslateUi(Widget)QMetaObject.connectSlotsByName(Widget)# setupUidef retranslateUi(self, Widget):Widget.setWindowTitle(QCoreApplication.translate("Widget", u"Widget", None))self.label.setText(QCoreApplication.translate("Widget", u"Hello !!!", None))# retranslateUi

 上面看着库的导入还是label的创建,都比较正常,就是界面的重译(retranslateUi)有点怪,后面查了下资料说是:retranslateUi()函数集中设置了窗体上所有的字符串,利于实现软件的多语言界面。这样也就能理解了。

运行结果:

 

pyCharm上搭建PyQt环境

若是之前是有python基础的,可能更习惯使用PyCharm编辑,在网上也有相关教程。

搭建PyQt环境(PyCharm)_pycharm 配置qt-CSDN博客

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

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

相关文章

HCIA --- 综合实验(结束)

一、实验拓扑及要求 二、整体IP规划 三、解决方案 四、解决步骤配置命令 一、基本部分 一、交换机 1、创建对应VLAN,对应接口划入对应VLAN中,创建Trunk干道,配置HTTP服务器IP LSW1 [sw1]vlan batch 2 to 3 [sw1]interface e0/0/1 [sw1-E…

ceph高可用、手动安装

操作系统:centos8 三台服务器: 192.168.6.22:mon,mgr,mds,osd 192.168.6.23:mon,mgr,mds,osd 192.168.6.24:mon,mgr,mds,osd 正式环境osd和mon不应该在一个节点,建议osd单独服务器安装。 ceph版本&am…

Python与Pycharm的安装与使用

1. Python下载与安装 python官网:链接 Python下载:各版本下载链接 1.1 Python下载 1、首先进入下载页面,选择一个版本下载,这里以Python3.7为例 2、点击下载,随后得到对应安装包 1.2 Python安装 1、双击进行软件…

QT-- out of memory, returning null image

提示:本文为学习内容,若有错误,请及时联系作者,谦虚受教 文章目录 前言一、崩溃信息二、错误原因1.QImage2.QStandardItemModel 三、问题解决总结 前言 学如逆水行舟,不进则退。 一、崩溃信息 崩溃信息: QImage: out…

作为20年老程序员,我如何使用GPT4来帮我写代码

如果你还在用google寻找解决代码bug的方案,那你真的out了,试试gpt4, save my life. 不是小编危言耸听,最近用gpt4来写代码极大地提高了代码生产力和运行效率,今天特地跟大家分享一下。 https://www.promptspower.comhttps://www.…

gitlab添加ssh秘钥

安装git 右击:git bash here 1.首先用如下命令(如未特别说明,所有命令均默认在Git Bash工具下执行)检查一下用户名和邮箱是否配置(gitlab支持我们用用户名或邮箱登录): git config --global --…

海外跨境电商云厂商阿里云、华为云、九河云选择攻略

近几年出海已成为趋势,而要打有准备的仗,就必须先收集关键信息。国内企业出海需要对海外市场进行深入的分析和挖掘,数据分析技术可以帮助国内企业更好地了解海外市场的需求和趋势,包括市场调研、用户画像、销售数据分析等方面&…

笔记本电脑搜索不到wifi6 无线路由器信号

路由器更换成wifi6 无线路由器后,手机能搜索到这个无线信号,但是笔记本搜索不到这个无线信号,后网上搜索后发现是无线网卡驱动问题,很多无线网卡使用的是Intel芯片,Intel就此发布了公告,升级驱动就可以彻底…

RabbitMQ初入门

1、RabbitMQ是什么 RabbitMQ是“实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均…

【中国知名企业高管团队】系列53:宁德时代

今天华研荟的系列文章带您了解宁德时代的高管团队。 虽然我们大部分人都不是宁德时代的直接客户,但是很多人都是宁德时代的间接客户。或者因为这几年新能源行业的爆火,关于宁德时代的新闻和造富能力时有耳闻。 一、认识宁德时代 按官网定义&#xff0…

外汇天眼:违法违规不断!4家外汇平台被罚

金融市场在全球范围内持续动荡,而违法和违规行为似乎从未停止。最近,一系列事件再次引发了对金融监管的关注,其中包括英国FCA对Bitfinex的警告,以及芝加哥商品交易所和塞浦路斯证券交易委员会(CySEC)对相关…

营收净利双降、股价下跌四成,敷尔佳带伤闯关“双11”

今年双11预售已经开启,敷尔佳在天猫、抖音等电商平台火热营销;营销热业绩冷,敷尔佳的三季报不及预期。 10月23日,哈尔滨敷尔佳科技发展有限公司(下称“敷尔佳”,301371SZ)公布2023年三季报,其三季度营收净…

【C++】set和map

欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析(3) 目录 👉🏻关联式容器👉&a…

小程序关键词排名优化持续优化很重要

随着微信小程序只的兴起,小程序的关键词排名优化Q也越来越受到重视。合理的关键词规划和精准的排名策略可以让小程序更好地露出,吸引潜在用户Q。下面我将从以下几个方面来具体阐述小程序关键词Q排名优化的相关内容: 一、确定核心关键词 关键词选择直接影响搜索排名Q因此要充分…

毕业论文问卷分析思路

很多同学会通过收集问卷的方式获取论文研究需要的数据,但是收集到的问卷应该如何分析呢?问卷一般可以分为两类:非量表类与量表类问卷。不同类型的问卷有不同的分析思路,今天和大家探讨一下拿到一份问卷后,一般的分析思…

7.多线程之单例模式

单例模式 文章目录 单例模式1. 什么是单例模式2. 饿汉模式3. 懒汉模式3.1 单线程版:3.2 多线程版 1. 什么是单例模式 单例模式是一种设计模式,常见的设计模式还有工厂模式、建造者模式等。 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码…

Fourier分析导论——第2章——Fourier级数的基本属性(E.M. Stein R. Shakarchi)

第 2 章 Fourier级数的基本属性(Basic Properties of Fourier Series) Nearly fifty years had passed without any progress on the question of analytic representation of an arbitrary function, when an assertion of Fourier threw new light on the subject. Thus…

(四)库存超卖案例实战——优化redis分布式锁

前言 在上一节内容中,我们已经实现了使用redis分布式锁解决商品“超卖”的问题,本节内容是对redis分布式锁的优化。在上一节的redis分布式锁中,我们的锁有俩个可以优化的问题。第一,锁需要实现可重入,同一个线程不用重…

Hydra(九头蛇海德拉)教程

Hydra 参数 hydra <参数> <IP地址> <服务名> 参数案例说明-l-l root登录账号-L-L userName.txt用户文件-p-l 123456登录密码-P-P passwd.txt密码文件-e-e nsrn 空密码 s 用户名即密码 r 用户名和密码相反&#xff08;如root的密码为toor&#xff09;-s-s 21指…

openGauss学习笔记-111 openGauss 数据库管理-管理用户及权限-用户权限设置

文章目录 openGauss学习笔记-111 openGauss 数据库管理-管理用户及权限-用户权限设置111.1 给用户直接授予某对象的权限111.2 给用户指定角色111.3 回收用户权限 openGauss学习笔记-111 openGauss 数据库管理-管理用户及权限-用户权限设置 111.1 给用户直接授予某对象的权限 …