对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.hqwc.cn/news/156105.html

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

相关文章

博客系统-项目测试

自动化博客项目 用户注册登录验证效验个人博客列表页博客数量不为 0 博客系统主页写博客 我的博客列表页效验 刚发布的博客的标题和时间查看 文章详情页删除文章效验第一篇博客 不是 "自动化测试" 注销退出到登录页面,用户名密码为空 用户注册 Order(1)Parameterized…

非洲“支付宝”PalmPay搭载OceanBase:成本降低80%

10 月 30 日,非洲支付公司PalmPay 的核心系统搭载国产自研数据库OceanBase,正式投入使用。PalmPay 也是 OceanBase 首个非洲商业用户。 作为一家非洲领先的金融科技公司,PalmPay 于 2019 年在尼日利亚推出电子钱包应用,其功能类似…

阿里云老用户优惠服务器99元/年?良心了!

阿里云老用户优惠服务器99元/年,谁再说阿里云不好我给谁急,云服务器ECS配置为经济型e实例,2核CPU、2G内存、3M固定带宽、40G ESSD entry 系统盘,老用户优惠价99元一年,老用户可以买,当然新用户也可以买&…

R语言使用surveyCV包对NHANES数据(复杂调查加权数据)进行10折交叉验证

美国国家健康与营养调查( NHANES, National Health and Nutrition Examination Survey)是一项基于人群的横断面调查,旨在收集有关美国家庭人口健康和营养的信息。 地址为:https://wwwn.cdc.gov/nchs/nhanes/Default.aspx 既往咱们…

Tips:关于自己电脑重装python的流程

新换电脑,记录下安装python环境的流程。 1.先安装python 网上随便找教程 2.再安装pycharm https://blog.csdn.net/thefg/article/details/128881507?loginfrom_csdnhttps://blog.csdn.net/thefg/article/details/128881507?loginfrom_csdn3.再修改默认的pip为…

华锐技术何志东:证券核心交易系统分布式改造将迎来规模化落地阶段

近年来,数字化转型成为证券业发展的下一战略高地,根据 2021 年证券业协会专项调查结果显示,71% 的券商将数字化转型列为公司战略任务。 在落地数字化转型战略过程中,证券业核心交易系统面临着不少挑战。构建新一代分布式核心交易…

使用treq库下载

首先,我们需要导入treq库,这是一个用于Python的HTTP客户端库。代码如下: import treq然后,我们需要设置代理服务器。代码如下: proxy treq.ProxyManager("jshk.com.cn:8120")接下来,我们需要创…

支付宝小程序自主DIY源码系统 五分钟打造一个专属小程序 带完整搭建教程

现如今,在我们的日常生活中,小程序已经成为一种备受欢迎的应用形态。支付宝小程序自主DIY源码系统能够帮助用户快速搭建属于自己的小程序。罗峰今天来给大家分享一款支付宝小程序自主DIY源码系统 ,帮你五分钟就创建一个小程序,十分…

Jave语法的输入输出

基本语法 从键盘输入 使用 Scanner 读取字符串/整数/浮点数 在idea中这个包是自动导入的! 使用 Scanner 循环读取 N 个数字,并求取其平均值 Scanner sc new Scanner(System.in); int sum 0; int num 0; while (sc.hasNextInt()) {int tmp sc.nex…

安装2023年10月更新后,继续在Win10上使用IE的方法

简介 由于微软一直试图让Win10的用户迁移到Edge浏览器,因此不断地对Win10上的IE使用加以限制。 先前我们还可以通过金庸IEToEdge BHO的方式继续使用IE。 通过禁用IEToEdge BHO,禁止IE自动跳转(重定向)到EDGEhttps://blog.csdn.…

基于Taro + React 实现微信小程序半圆滑块组件、半圆进度条、弧形进度条、半圆滑行轨道(附源码)

效果: 功能点: 1、四个档位 2、可点击加减切换档位 3、可以点击区域切换档位 4、可以滑动切换档位 目的: 给大家提供一些实现思路,找了一圈,一些文章基本不能直接用,错漏百出,代码还藏着掖…

4.1 继承

思维导图: 第4章 面向对象(下) 学习目标: 了解面向对象中的继承特性,掌握继承的概念与特点。掌握方法的重写,能够在子类中重写父类方法。掌握super关键字,明白如何在类中使用super访问父类成员。理解final关键字的作用&#xff0…