Pyside6 开发 使用Qt Designer

使用Qt Designer

在Scripts目录下打开pyside6-designer.exe

分别将姓名、年龄、爱好对应的输入框的ObjectName 设置为 uname、uage、ulike

提交按钮Object设置为 btnSubmit

点击保存文件

,命名为student.ui

将.ui文件编程成.py文件

pyside6-uic student.ui -o student.py

python 复制代码
import sys
from PySide6.QtWidgets import QApplication,QWidget
import student


class MyWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.ui = student.Ui_Form()
        self.ui.setupUi(self)


if __name__ == '__main__':
    app = QApplication([])
    win = MyWindow()
    win.show()
    sys.exit(app.exec())

提交按钮,完成提交功能

python 复制代码
import sys
from PySide6.QtWidgets import QApplication,QWidget
from PySide6.QtCore import Slot
import student


class MyWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.ui = student.Ui_Form()
        self.ui.setupUi(self)

    @Slot()
    def on_btnSubmit_clicked(self):
        uname = self.ui.uname.text()
        uage = self.ui.uage.text()
        ulike = self.ui.ulike.text()
        print(uname,uage,ulike)
        with open('student.txt','a+',encoding='utf-8') as f:
            template = f'姓名{uname}--年龄{uage}--爱好{ulike}\n'
            f.write(template)

if __name__ == '__main__':
    app = QApplication([])
    win = MyWindow()
    win.show()
    sys.exit(app.exec())

from PySide6.QtCore import Slot

使用 @Slot 表达这个方法是槽函数。

QMetaObject.connectSlotsByName(Form) 会扫描指定对象(如窗口或控件)中的所有槽函数,并根据命名规则自动连接信号和槽函数。

槽函数的命名格式必须为:on_<objectName>_<signal>

objectName 是对象的名称(通过 setObjectName设置)。

signal是信号的名称。

如上面按钮所示,objectName 为 btnSubmit,并且它的 clicked 信号需要连接到一个槽函数,那么槽函数应该命名为 on_btnSubmit_clicked。

相关推荐
磁场转动100万匹8 分钟前
PyTorch 手写数字识别实战:从数据加载到模型训练(零基础详解版)
人工智能·pytorch·python
青 春 记 忆6 小时前
零基础入门python30:Flask个人账本从空目录运行与阶段验收
python·flask·后端开发
l1258657 小时前
# LangGraph Memory机制深度解析:短期记忆与长期记忆的工程实践
前端·人工智能·python·langchain·bootstrap
微小冷7 小时前
pyqt+matplotlib多进程图像刷新
pyqt·matplotlib·进程通信·多进程·queue·process
金銀銅鐵8 小时前
斐波那契数列的个位数出现的周期是多少?
python·数学
whcyhhh9 小时前
头歌实践教学平台:数据科学与大数据技术导论(十二)
大数据·开发语言·python·数据清洗
qq_3164110310 小时前
专业的腹腔镜医疗器械物联网APP开发服务商
python
阿童木写作10 小时前
跨境电商翻译利器,批量图片视频翻译+智能抠图工具
python·音视频
绘梨衣54711 小时前
异步任务队列-学习2
爬虫·python·学习·任务队列
用户83562907805111 小时前
使用 Python 在 Excel 中插入 OLE 对象
后端·python