pyside6--信号与槽

前言

欢迎来到我的博客

个人主页:北岭敲键盘的荒漠猫-优快云博客

本文整理pyqt6中信号与槽的相关知识点

pyside6的信号与槽概念

直观理解:就是点按钮,按钮执行对应的函数。

更正规的理解:我们规定这个按钮发生某种变化(信号),他就会找到对应的槽(函数)并执行。

我们可以规定按钮,按下,松开,点击这类的信号,去执行一个槽函数。

designer图形化规定槽函数

点击这个按钮,进入编辑信号与槽的界面。

直接拖动要绑定的控件

选择信号与对应的槽

以此类推

最后实现点击按钮清空上面两个文本框的内容的功能。

点一下按钮

代码绑定信号与槽

上面的方法很方便快捷,但是有个问题,我们想要执行一些打印,计算等自定义的函数,从上面那个方法中很难完成。这时候代码绑定虽然麻烦但是更加灵活。

控件的名称:(可自己拟定)

代码绑定代码:

#引入窗口的基本库
from PySide6.QtWidgets import QApplication,QWidget
#引入我们的文件(win是我们生成的py文件)
from win import Ui_Form
#定义窗口类
class Mainwindow(QWidget,Ui_Form):
    def __init__(self): #继承窗口和win文件中的Ui_From类
        super().__init__()
        self.setupUi(self)#导入UI文件
        self.pushButton.clicked.connect(self.Bind)#信号绑定

    def Bind(self):#信号的槽
        self.textEdit.clear()
        self.textEdit_2.clear()
        print("文本已经全部清除")


if __name__=="__main__":
    app=QApplication([])#开启,传参
    windows=Mainwindow()#实例化对象
    windows.show()#显示窗口
    app.exec()#循环监听

效果演示:

### PySide6 Designer 命令用法及操作指南 PySide6 提供了一个名为 `pyside6-designer` 的工具,它是 Qt Designer 的 Python 实现版本。通过这个工具可以设计构建图形用户界面 (GUI),并将 `.ui` 文件转换为 Python 代码以便于集成到应用程序中。 #### 启动 PySide6 Designer 要启动 PySide6 Designer 工具,可以在终端或命令行输入以下命令: ```bash pyside6-designer ``` 这将打开一个可视化的设计环境,在其中可以通过拖放组件来创建复杂的 GUI 应用程序[^1]。 --- #### 将 .ui 文件转换为 Python 代码 完成设计后,`.ui` 文件需要被转换为 Python 可读的代码形式。为此,可以使用 `pyside6-uic` 工具进行转换。以下是具体的操作方法: 假设有一个名为 `mainwindow.ui` 的文件,则可以通过以下命令将其转换为 Python 脚本: ```bash pyside6-uic mainwindow.ui -o ui_mainwindow.py ``` 此命令会生成一个名为 `ui_mainwindow.py` 的文件,该文件包含了从 `.ui` 文件解析而来的 Python 类定义[^4]。 --- #### 动态加载 UI 文件 除了提前将 `.ui` 文件转换为 Python 代码外,还可以在运行时动态加载 `.ui` 文件。这种方法更加灵活,适合开发阶段频繁调整界面的情况。实现方式如下: ```python from PySide6.QtUiTools import QUiLoader from PySide6.QtWidgets import QApplication, QWidget from PySide6.QtCore import QFile, QIODevice def load_ui(ui_file_path): loader = QUiLoader() ui_file = QFile(ui_file_path) if not ui_file.open(QIODevice.ReadOnly): raise FileNotFoundError(f"Cannot open {ui_file_path}") widget = loader.load(ui_file) ui_file.close() return widget if __name__ == "__main__": app = QApplication([]) window = load_ui("mainwindow.ui") # 加载指定的 .ui 文件 if isinstance(window, QWidget): # 确保窗口对象有效 window.show() app.exec() ``` 以上代码展示了如何利用 `QUiLoader` 来动态加载 `.ui` 文件并显示对应的窗口[^3]。 --- #### 配置资源文件 (.qrc) 如果项目中有图标或其他静态资源,通常会被打包到 `.qrc` 文件中。为了使这些资源可用,需先使用 `pyside6-rcc` 工具将 `.qrc` 文件编译为 Python 模块。例如: ```bash pyside6-rcc resources.qrc -o resources_rc.py ``` 随后,在主脚本中导入生成的模块即可访问资源文件中的内容[^4]。 --- #### 设计师常用快捷键 | 快捷键 | 描述 | |------------------|----------------------------------------| | Ctrl+N | 创建新的表单 | | Ctrl+S | 保存当前表单 | | Ctrl+Shift+S | 另存为 | | F6 | 切换信号编辑模式 | 更多高级功能可查阅官方文档或参考相关教程[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北岭敲键盘的荒漠猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值