Pyside6 基础框架以及三种基础控件

安装

安装Pyside6

Bash 复制代码
pip install pyside6

基础框架

Python 复制代码
from PySide6.QtWidgets import QApplication, QMainWindow, 

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        
if __name__ == "__main__":
    # 创建一个 QApplication 对象
    # QApplication 是 GUI 应用的核心,管理主事件循环
    app = QApplication([]) 
    # 创建一个继承自 QMainWindow的 MyWindow 类的实例,表示程序的主窗口
    window = MyWindow()
    # show() 方法将窗口从隐藏状态变为可见状态
    window.show()
    # 启动应用程序的事件循环
    # 事件循环会保持程序运行,等待用户输入(如点击、键盘事件等),并根据用户操作触发相应的事件处理。
    app.exec()

QApplication 是 PySide6 应用的主类,管理应用程序的控制流和主设置。QMainWindow 是一个高级窗口类,通常用作 GUI 程序的主窗口,支持菜单栏、工具栏、状态栏等功能。

三种基础控件

Python 复制代码
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QLabel, QLineEdit  
from PySide6.QtCore import Qt  
  
  
class MyWindow(QMainWindow):  
    def __init__(self):  
    super().__init__()  
        btn = QPushButton('按钮', self) # 创建按钮,第一个参数是按钮名称(text)  
        btn.setGeometry(50, 50, 75, 30) # 设置按钮位置和大小,参数依次是x坐标,y坐标,宽度,高度;坐标以左上角为原点  
        btn.setToolTip('请点击')  # 设置按钮提示信息  
        # 按钮的更多属性设置,可以从Qtdesigner中找到    

        lb = QLabel("标签", self)  # 创建标签,第一个参数是标签名称  
        lb.setGeometry(20, 20, 150, 30) # 设置标签位置和大小,参数依次是x坐标,y坐标,宽度,高度;坐标以左上角为原点  
        lb.setText('被修改的标签文字')  

        line = QLineEdit(self)  # 创建一个输入框  
        line.setPlaceholderText('请输入')  # 设置输入框提示信息  
        line.setGeometry(100, 100, 100, 30)  

if __name__ == "__main__":  
    app = QApplication([])  
    window = MyWindow()  
    window.show()  
    app.exec()

执行结果:

使用Qt designer

选择Widget创建一个窗体

将左侧的Push Button拖到画布上

右侧的属性编辑器会显示QPushButton的全部属性

实际上在代码中,表示按钮的QPushButton类继承自PySide6.QtWidgets.QAbstractButton,而 QAbstractButton类继承自PySide6.QtWidgets.QWidget类,正如属性编辑器中所显示的。

一个项目:制作一个简单的登录界面

使用Qt designer,将Label, Line Edit 和 Push Button拖拽到画布上,并使用属性编辑器编辑控件们的属性。

点击窗体------>预览,就能显示窗口的样子。

相关推荐
觅远17 分钟前
python+PyMuPDF库:(一)创建pdf文件及内容读取和写入
开发语言·python·pdf
MinIO官方账号1 小时前
使用亚马逊针对 PyTorch 和 MinIO 的 S3 连接器实现可迭代式数据集
人工智能·pytorch·python
四口鲸鱼爱吃盐1 小时前
Pytorch | 利用IE-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击
人工智能·pytorch·python·深度学习·计算机视觉
四口鲸鱼爱吃盐1 小时前
Pytorch | 利用EMI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击
人工智能·pytorch·python
游客5202 小时前
自动化办公-合并多个excel
开发语言·python·自动化·excel
豌豆花下猫2 小时前
Python 潮流周刊#83:uv 的使用技巧(摘要)
后端·python·ai
凡人的AI工具箱2 小时前
每天40分玩转Django:Django部署概述
开发语言·数据库·后端·python·django
RacheV+TNY2642782 小时前
深度解析:电商平台API接口的安全挑战与应对策略
人工智能·python·自动化·api
卖个几把萌2 小时前
【10】Selenium+Python UI自动化测试 邮件发送测试报告(某积载系统实例-04)
python·selenium·ui
huhuhu15323 小时前
第P4周:猴痘病识别
图像处理·python·深度学习·cnn