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

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

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())

提交按钮,完成提交功能

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。


http://www.kler.cn/a/612966.html

相关文章:

  • G i t
  • 硬件测试工装设计不合理的补救措施
  • 剑指Offer26 -- 树
  • Python 装饰器(Decorators)
  • C++方向就业
  • acwing 每日一题4888. 领导者
  • EMC知识学习三
  • firewall-cmd添加访问规则
  • Next.js 中间件鉴权绕过漏洞 (CVE-2025-29927) 复现利用与原理分析
  • 标准库中有uint32_t类型吗?
  • Pytorch学习笔记(十六)Image and Video - Transfer Learning for Computer Vision Tutorial
  • Mysql-DML
  • Linux命令大全:从入门到高效运维
  • Mac: 运行python读取CSV出现 permissionError
  • 【LeetCode 题解】数据库:180. 连续出现的数字
  • 提示词应用:IT模拟面试
  • CSS学习笔记5——渐变属性+盒子模型阶段案例
  • 构建高可用性西门子Camstar服务守护者:异常监控与自愈实践
  • k近邻算法K-Nearest Neighbors(KNN)
  • office_word中使用宏以及DeepSeek