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。

相关推荐
2601_9679801114 分钟前
python之用scapy分层解析pcap报文(Ethernet帧、IP数据包、TCP数据包、UDP数据包、Raw数据包)
python·scapy·pcap·协议分析·网络数据包
心疼你的一切21 分钟前
Python自动发邮件实战定时发报表
大数据·开发语言·python
卡提西亚2 小时前
FastAPI基础入门
python·fastapi
fanruitian2 小时前
python 机器学习 ML LinearRegression KNN KMeans
python·机器学习·kmeans
鱼宵2 小时前
取集合第一个元素,Java 为什么要写三种写法?
java·windows·python·java21
卷无止境3 小时前
给AI装上一双眼睛:快速构建代码验证器的思路与落地方案
后端·python
维克兜率天3 小时前
【维克】指数调整:哪些股票会被“强制买入“?
人工智能·python·算法
come112343 小时前
Codex 下不同场景 模式选择
python
神也畏惧菠萝4 小时前
Day08 Python流程控制从入门到上瘾:if/match/while/for四件套,从B站登录一路打到猜数字游戏
python·算法·数据存储·for·while·if·ifelse
言乐64 小时前
通过 3D 动画直观演示球形瓶内可滑动半圆机构在倾倒时防粘盖、回正时刮膏体的运动学过程
python·3d·django·virtualenv·pygame