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。

相关推荐
千寻girling2 小时前
一份不可多得的 《 Django 》 零基础入门教程
后端·python·面试
databook6 小时前
探索视觉的边界:用 Manim 重现有趣的知觉错觉
python·动效
明月_清风7 小时前
Python 性能微观世界:列表推导式 vs for 循环
后端·python
明月_清风7 小时前
Python 性能翻身仗:从 O(n) 到 O(1) 的工程实践
后端·python
helloweilei1 天前
python 抽象基类
python
用户8356290780511 天前
Python 实现 PPT 转 HTML
后端·python
zone77391 天前
004:RAG 入门-LangChain读取PDF
后端·python·面试
zone77391 天前
005:RAG 入门-LangChain读取表格数据
后端·python·agent
树獭非懒2 天前
AI大模型小白手册|Embedding 与向量数据库
后端·python·llm
唐叔在学习2 天前
就算没有服务器,我照样能够同步数据
后端·python·程序员