当前位置: 首页 > news >正文

哪里提供邢台做网站分析不同网站的优缺点

哪里提供邢台做网站,分析不同网站的优缺点,官网模板源码,做网站还是做微信公众号Python 开发可视化界面可以使用原生的 tkinter,但是原生框架使用起来颇为不方便,所以最流行的还是QT UI框架,QT是使用C语言开发,Python 想使用需要对其进行封装,所以就出现了PyQt框架,这个框架使用极其方便…

Python 开发可视化界面可以使用原生的 tkinter,但是原生框架使用起来颇为不方便,所以最流行的还是QT UI框架,QT是使用C++语言开发,Python 想使用需要对其进行封装,所以就出现了PyQt框架,这个框架使用极其方便,而且可以多端运行。

1.安装 PyQt 框架

本人使用的是Mac 2023款 Apple M1芯片,Python版本是3.9,开发IDE使用的 PyCharm
Qt 官网文档 ,
https://www.qt.io/download
https://riverbankcomputing.com/software/pyqt/download

Qt的长期支持版(LTS)有 Qt 5.15Qt 6.2Qt 6.5,所以我首先选的是 PyQt5 版本下载

pip install PyQt5

问题开始出现了,安装 PyQt5报错了 Encountered error while generating package metadata

      sipbuild.pyproject.PyProjectOptionException[end of output]note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed× Encountered error while generating package metadata.
╰─> See above for output.

首先不是pip的问题,pip我已经更新到最新了,查找好多资料,基本可以确定是Python3.9版本过高导致的,需要使用Python3.7版本,但是我没有去给Python降级,因为电脑中还有需要使用Python的地方用到该版本的,这里降级在引出别的问题,所以放弃 PyQt5,下面安装PyQt6

pip install PyQt6

很幸运币,顺利就安装好了!!
在这里插入图片描述

试用下看看效果

from PyQt6.QtWidgets import *  # 导入PyQt6if __name__ == '__main__':app = QApplication(sys.argv)w = QWidget()w.setWindowTitle("我是一个Window")w.show()app.exec()

一切顺利,运行起来了

在这里插入图片描述

2. 安装 QtDesigner

PyQt6使用纯代码进行布局,作为开发者肯定无法接受,尤其是作为iOS开发的我用惯使用了 StoryBoardXib等拖拽控件的方式进行布局,PyQt也有这种方式就是 QtDesigner

QtDesigner 下载地址:https://build-system.fman.io/qt-designer-download。

在这里插入图片描述
选择 Mac 版下载,然后安装:

在这里插入图片描述

PyCharm中安装External Tool,PyCharm -> settings -> Tools -> External Tool

在这里插入图片描述
1.Name: 随意填写 例如 QtDesigner;
2.Program:这个就是我们上面下载的 Qt Designer App 路径 /Applications/Qt Designer.app
3.Working directory:项目工作目录,固定填写 $ProjectFileDir$

其他项可不填写,点击 OK 保存。然后我们在PyCharm的导航栏Tools中查看是否已经添加好了:

在这里插入图片描述
QtDesigner已经存在了,说明已经添加好了,然后点击这个插件,会出现下面6个视图,最用基本上见名知意,很好理解:
在这里插入图片描述

点击中间视图的 Create 按钮,创建一个Window或者Widget:

在这里插入图片描述

中间就是一个Widget我拖拽了两个QLabel两个QLineEdit以及一个QPushButton,当然你可以随意拖拽任意组件,点击保存:

在这里插入图片描述
保存到桌面,会生成一个.ui文件,即 my_widget.ui

在这里插入图片描述
在这里插入图片描述

我们将这个文件拖到我们项目中

在这里插入图片描述

如果想加载这个文件需要用到 pyuic5-tool ,下面来安装这个库。

3.安装 pyuic5-tool

 pip install pyuic5-tool

安装结果

(venv) sunshiyu@sunshiyudeMacBook-Pro-2 gui-demo % pip3 install pyuic5-tool
Collecting pyuic5-toolDownloading pyuic5_tool-0.0.1-py3-none-any.whl (9.8 kB)
Installing collected packages: pyuic5-tool
Successfully installed pyuic5-tool-0.0.1

很幸运Python3.9直接安装成功。好的,我们继续来加载上面的 my_test.ui 文件:

import sysfrom PyQt6.QtCore import *
from PyQt6.QtWidgets import *
from PyQt6.QtGui import *
from PyQt6 import uicif __name__ == '__main__':passapp = QApplication(sys.argv)mw = uic.loadUi("./my_test.ui")  # 加载.ui文件,传入其所在路径即可mw.show()app.exec()

我们想如果能将 my_test.ui 文件转成 .py文件 ,那不是更爽吗?是的,我们可以实现它,接下来我们安装第二个插件:

在这里插入图片描述

和QtDesigner很相似,填写数据:

1.Name:随便写,例如 pyUIC;
2.Program:这个是我们安装 pyuic5-tool 的路径,我的是在venv中,/Users/sunshiyu/Desktop/其他/Python/gui-demo/venv/bin/pyuic6
3.Arguments:基本也是固定写法$FileName$ -o $FileNameWithoutExtension$.py
4.Working directory:工作路径 $FileDir$

pyuic6的路径在:
在这里插入图片描述

点击 OK,我们用相同的方式查看该插件是否已经添加完成:

在这里插入图片描述

显然已经添加成功,下面右键点击my_test.ui文件 -> External Tools -> pyUIC,点击插件 pyUIC,就会在同目录下生成一份my_test,py文件,如下图:

在这里插入图片描述
生成的代码如下:

# Form implementation generated from reading ui file 'my_test.ui'
#
# Created by: PyQt6 UI code generator 6.5.2
#
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
# run again.  Do not edit this file unless you know what you are doing.from PyQt6 import QtCore, QtGui, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(491, 378)self.pushButton = QtWidgets.QPushButton(parent=Form)self.pushButton.setGeometry(QtCore.QRect(190, 270, 113, 32))self.pushButton.setObjectName("pushButton")self.label = QtWidgets.QLabel(parent=Form)self.label.setGeometry(QtCore.QRect(40, 30, 60, 16))self.label.setObjectName("label")self.label_2 = QtWidgets.QLabel(parent=Form)self.label_2.setGeometry(QtCore.QRect(40, 60, 60, 16))self.label_2.setObjectName("label_2")self.lineEdit = QtWidgets.QLineEdit(parent=Form)self.lineEdit.setGeometry(QtCore.QRect(100, 30, 113, 21))self.lineEdit.setObjectName("lineEdit")self.lineEdit_2 = QtWidgets.QLineEdit(parent=Form)self.lineEdit_2.setGeometry(QtCore.QRect(100, 60, 113, 21))self.lineEdit_2.setObjectName("lineEdit_2")self.retranslateUi(Form)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate = QtCore.QCoreApplication.translateForm.setWindowTitle(_translate("Form", "Form"))self.pushButton.setText(_translate("Form", "点击"))self.label.setText(_translate("Form", "账号:"))self.label_2.setText(_translate("Form", "密码:"))
http://www.yayakq.cn/news/20458/

相关文章:

  • 服饰 公司 网站建设wordpress主题 大学
  • 房屋平面图在线制作网站手机上有那种网站吗
  • 佛山企业网站建设技术网站后台登陆显示验证码错误
  • 汕头市建设局网站首页四川网站建设咨询
  • 浙江省城乡和建设厅网站首页小程序小游戏
  • 通辽网站建设招聘绍兴网站建设专业的公司
  • 医药招商网站大全德国设计网站
  • wordpress 屏蔽国家深圳快速seo排名优化
  • 大连市城乡建设局网站服务器网站部署
  • alexa的网站排名主要分为哪两种免费下载微信
  • 网站网页设计中怎么添加页码信息宁波seo优化报价多少
  • 爱站云网站建设heikw广州市义务教育学校招生报名
  • 做兽设的网站滕州住房城乡建设局网站
  • 餐饮网站建设方案爱站网长尾词挖掘
  • 媒体发稿网站开发网站建设哪些好
  • 网站建立失败的原因是wordpress 上传word
  • 微网站自助建设mysql做网站怎么查看数据
  • 比较好的微网站开发平台wordpress不同页面布局
  • 网站关键词如何设置网站建设学的是什么知识
  • 网站制作 文案WordPress朗读
  • 小灯具网站建设方案wordpress默认字体大小
  • 大气公司网站源码黄页网站推广效果
  • 做网站会提供源代码吗网站建设解决方案有哪些
  • vue.js和vs做网站比较欧米茄表官网
  • 网站建设延期报告开发网站需要问什么
  • 阿里云怎么建设网站做搜索引擎推广多少钱
  • 做网站需要买主机那中铁十六门网户登录
  • 做平面计设和网站哪个好优化网站的网站
  • asp网站程序优点推广平台下载
  • 东莞网站建设开发如何注册百度账号