赞
踩
最近想学习图形界面来展示自已以前写的部分python程序,经过对比还是感觉使用PySide6做图形界面为最优解。最近可能会不定期的更新自己的学习笔记,如果大家有什么疑问或建议请留言或私信我哈。
打开Anaconda Prompt,输入下面的命令。分别是创建新的虚拟环境,更新pip,安装Pyside6。
conda create --name Pyside python=3.9
pip install --upgrade pip
pip install pyside6
如果下载速度较慢可以使用国内镜像下载,也可以在-i后面修改为自己习惯使用的国内镜像。
pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pyside6 -i https://pypi.tuna.tsinghua.edu.cn/simple
在插件中下载安装PYQT Integration插件。
鼠标右键,点击扩展设置
设置一下3个区域,在内填写对应的目录。
Pyrcc的内容为:安装anaconda的文件夹地址+envs\PySide6\Scripts\pyside6-rcc.exe
Pyuic的内容为:安装anaconda的文件夹地址+envs\PySide6\Scripts\pyside6-uic.exe
Qtdesigner的内容为:安装anaconda的文件夹地址+envs\PySide6\Lib\site-packages\PySide6\designer.exe
创建文件夹,并且鼠标右键点击“PYQT NEW From”若可以打开"QT Designer"即配置完成。
运行结果:
在Anaconda Prompt的Pyside6的虚拟环境中,输入下面的命令也可以打开"QT Designer"
pyside6-designer
下方代码是制作GUI的基础代码框架,运行成功后会弹出一个空白框。我们几乎所有的程序几乎都会存在下面的代码。
# 导入QApplication和QMainWindow类,这两个类是创建GUI应用程序所必需的。 。 from PySide6.QtWidgets import QApplication, QMainWindow # 定义一个名为MyWindow的类,它继承自QMainWindow。 # 通过继承QMainWindow,MyWindow类能够使用QMainWindow的所有功能,并且可以添加或覆盖功能来自定义窗口。 class MyWindow(QMainWindow): # 类的构造函数(__init__方法)被调用时会自动执行。 # 在这里,我们通过调用父类QMainWindow的__init__方法来初始化MyWindow实例。 # super()函数用于调用父类的方法,这是一种标准的OOP(面向对象编程)做法。 def __init__(self): super().__init__() # 如果这个脚本是作为主程序运行(而不是被导入为模块),则以下代码会执行。 # __name__是一个内置变量,当脚本被直接运行时,它的值为'__main__'。 if __name__ == '__main__': # 创建一个QApplication对象。QApplication对象在任何PySide6/Qt GUI应用程序中都是必需的,并且应该在创建任何窗口或部件之前被实例化。 # 它处理窗口系统的初始化和一些基本的应用程序任务。 app = QApplication([]) # 创建一个MyWindow类的实例,这将创建一个空的主窗口。 window = MyWindow() # 通过调用show()方法,使窗口可见。在调用此方法之前,窗口是隐藏的。 window.show() # 进入应用程序的主循环,等待用户与窗口进行交互。 # exec()方法将一直运行,直到应用程序关闭,此时它会返回一个退出代码。 app.exec()
运行结果:
我们在上述的基础上制作一个带有按键和的图形界面:
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QLabel from PySide6.QtCore import Qt class MyWindow(QMainWindow): def __init__(self): super().__init__() btn = QPushButton("来点击我呀",self) # 创建按钮。并按钮设置为"来点击我呀" btn.setGeometry(100,100,200,100) # 设置按钮所在的位置和大小 btn.setToolTip('点我有惊喜') # 设置鼠标放在按钮上的提示 btn.setText('我被重新设置了') # 重新设置按钮名称 lb = QLabel('我是一个标签',self) # 设置标签(文字)为”我是一个标签“ lb.setText('我是被修改的文字') # 重新设置标签内容 lb.setAlignment(Qt.AlignmentFlag.AlignCenter) # 设置文字为居中效果 if __name__ == '__main__': app = QApplication([]) window = MyWindow() window.show() app.exec()
运行结果:
当鼠标放在按钮处即可发现第9行代码的效果展现出,按钮也可以按下。
Guthub:https://github.com/xxy0126/PySide_GUI.git
Gitee:git clone https://gitee.com/pengyingxxy/pyside_GUI.git
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。