Pyside6 --Qt设计师--简单了解各个控件的作用之:Buttons

目录

  • 一、BUttons
    • 1.1 包含
    • 1.2 不同按钮的解释
  • 二、具体应用
    • 2.1 Push Button
    • 2.2 Tool Button
    • 2.3 Radio Button
    • 2.4 Check Box
    • 2.5 Command Link Button
    • 2.6 Dialog Button Box
      • 2.6.1 直接显示代码如下
      • 2.6.2 可以修改ok,cancel 的内容

今天学习一下工具箱里面的Buttons!

一、BUttons

1.1 包含

具体包含如下图所示:

在这里插入图片描述

1.2 不同按钮的解释

名称翻译PySide6对应的类意义
Push Button按钮QPushButton普通按钮,点击触发事件
Tool Button工具按钮QToolButton通常是带图标的按钮
Radio Button单选按钮QRadioButton一组选项中只能选择一个
Check Box复选框QCheckBox允许选择多个选项
Command Link Button命令链接按钮QCommandLinkButton带描述的链接按钮,通常用于对话框中,外观像链接
Dialog Button Box对话框按钮框QDialogButtonBo标准对话框按钮框,包含常见的按钮,如“确定”、“取消”等

二、具体应用

正如我前文所说,这个大家我建议结合Qt设计师进行学习!
这个里面我会简单放置一点信号/槽的内容!

2.1 Push Button

如图:
在这里插入图片描述
这个里面的参数都可以set设置,部分的解释如下:
在这里插入图片描述
在这里插入图片描述

名称意思
geomotyr相对坐标系(几何)
sizePolicy控件大小策略
minimumSize最小宽度和最小高度
maximumSize最大宽度和最大高度(小tips:如果想固定窗口或控件大小,可将minimumSize和maximumSize设为一样的值)
baseSize控件的基本大小(定义控件的初始大小,
font字体
cursor指针
windowTitle窗口标题
windowIcon/icon窗口图标/控件图标
iconSize图标大小
tooITip提示信息
statusTip任务栏提示信息
text控件文本
shortcut快捷键

部分见代码:

import sys
from PySide6.QtWidgets import QMainWindow, QApplication, QWidget, QPushButton, QVBoxLayout

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        # 初始化窗口
        self.setWindowTitle("这是Push Button按钮的学习!")
        self.setGeometry(100, 100, 400, 300)

        # 创建中心容器
        central_widget = QWidget()
        self.setCentralWidget(central_widget)

        # 创建一个垂直布局,添加到中心容器
        ver_layout = QVBoxLayout(central_widget)

        # 垂直布局添加按钮
        button_1 = QPushButton("Pushbutton")
        ver_layout.addWidget(button_1)



if __name__ == "__main__":
    # 创建Qapplication 实例, sys.argv 传递命令行参数
    app = QApplication(sys.argv)

    # 实例化主窗口
    main_window = MainWindow()

    # 显示主窗口
    main_window.show()

    # 启动Qapplication 事件循环, app.exec() 用于事件处理循环, sys.exit() 程序结束,正确释放计算机资源
    sys.exit(app.exec())

2.2 Tool Button

定义:在图形用户界面(GUI)的开发中,Tool Button(工具按钮)是一种特殊类型的按钮。它通常用于提供快速访问常用工具或操作的功能,这些操作一般与应用程序的主要功能相关,并且用户可能会频繁使用。

用途举例:在一个图像编辑软件中,工具按钮可能包括 “裁剪”“旋转”“调整颜色” 等功能按钮;在文本编辑器中,可能是 “加粗”“斜体”“下划线” 等格式设置按钮。它们的存在是为了让用户能够方便、快捷地调用这些功能,而无需通过菜单等其他较复杂的方式来操作。

图标显示为主:工具按钮通常以图标显示为主,这样可以在有限的空间内提供更多的操作选项。例如,在大多数绘图软件的工具栏中,每个工具按钮都有一个清晰直观的图标,代表如铅笔、橡皮擦、形状绘制工具等功能,用户可以通过图标快速识别按钮的功能。当然,有些工具按钮也可以同时显示图标和少量文字来辅助说明,比如 “保存” 按钮可能会有一个磁盘图标和 “保存” 文字。

特点:尺寸相对较小:相比于普通的命令按钮,工具按钮一般尺寸较小,这是为了适应工具栏等空间有限的区域。它们通常排列在应用程序窗口的顶部(如在菜单栏下方的工具栏中)或侧边栏等位置,方便用户在操作过程中快速点击。

同理,需要修改哪些参数,大家自己参考属性栏,在此不再赘述!

import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QToolButton, QWidget




class Mainwindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("toolbutton学习!")
        self.setGeometry(100, 100, 400, 300)

        # 创建中央容器布局
        central_widget = QWidget()
        self.setCentralWidget(central_widget)


        # 创建toolbutton
        button_1 = QToolButton()
        button_1.setText("ToolButton")
        button_1.setParent(central_widget)  # 指定父部件

if __name__ == "__main__":
    app = QApplication(sys.argv)
    mainwindow = Mainwindow()
    mainwindow.show()
    sys.exit(app.exec())

在这里插入图片描述

2.3 Radio Button

Radio Button(单选按钮)是图形用户界面(GUI)中的一种常见组件。它用于在一组选项中只能选择一个选项的场景。通常,多个单选按钮会组合在一起形成一个选项组,当用户选择其中一个单选按钮时,同一组中的其他单选按钮会自动取消选择状态。

在一个用户偏好设置界面中,询问用户喜欢的颜色,选项有 “红色”“蓝色”“绿色”,每个选项对应一个单选按钮。用户只能选择一种颜色,这种情况下使用单选按钮就很合适。在软件安装向导中,询问用户安装路径的磁盘分区(如 “C 盘”“D 盘”“E 盘” 等选项),也可以通过单选按钮来让用户进行唯一的选择。

圆形按钮与文本标签:单选按钮在外观上通常是一个小圆形按钮,旁边带有描述选项内容的文本标签。当选项被选中时,圆形按钮内部会出现一个小点(不同的 GUI 风格可能会有不同的选中标识,但一般是圆形填充状态),用于直观地显示该选项已被选中。例如,在常见的桌面应用程序中,如音乐播放器的播放模式选择(“单曲循环”“列表循环”“随机播放” 等选项),每个选项旁边的单选按钮在选中时会有明显的视觉变化。
成组显示:为了体现其单选的功能特性,单选按钮一般是成组出现的。这些按钮在逻辑上相互关联,形成一个选项集合。在界面设计中,它们通常会通过布局管理器(如QVBoxLayout垂直排列QHBoxLayout水平排列)进行整齐的排列,方便用户查看和选择。

水平布局,垂直布局大家选择一个即可!(就是水平部分注释掉的内容)

import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QWidget, QRadioButton
from PySide6.QtWidgets import QVBoxLayout, QHBoxLayout
class Mainwindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("RatioButton 学习!")
        self.setGeometry(100, 100, 500 ,400)

        # 中央布局
        central_widget = QWidget()
        self.setCentralWidget(central_widget)

        # # 创建水平布局
        # hor_layout = QHBoxLayout()
        # # 创建水平按钮,男,女
        # radio_button_1 = QRadioButton("男")
        # radio_button_2 = QRadioButton("女")
        #
        # # 添加到水平布局
        # hor_layout.addWidget(radio_button_1)
        # hor_layout.addWidget(radio_button_2)
        #
        # # 添加水平页面到中央布局容器
        # central_widget.setLayout(hor_layout)

        # 创建垂直布局
        ver_layout = QVBoxLayout()
        radio_button_3 = QRadioButton("男")
        radio_button_4 = QRadioButton("女")

        # 添加到垂直布局
        ver_layout.addWidget(radio_button_3)
        ver_layout.addWidget(radio_button_4)

        # 添加垂直布局到中央布局容器
        central_widget.setLayout(ver_layout)




if __name__ == "__main__":
    app = QApplication(sys.argv)
    mainwindow = Mainwindow()
    mainwindow.show()
    sys.exit(app.exec())

2.4 Check Box

CheckBox(复选框)是图形用户界面(GUI)中的一种常用组件。它允许用户在一组选项中选择零个、一个或多个选项,与单选按钮(Radio Button)只能选择一个选项形成对比。

软件安装界面,用户可以通过复选框选择安装哪些可选组件,如 “安装桌面快捷方式”“创建关联文件类型” 等;在邮件客户端的设置中,用户可以使用复选框选择接收哪些类型的通知,如 “新邮件提醒”“邮件发送成功提醒” 等。

方形框与文本标签:复选框在外观上通常是一个小方形框,旁边带有描述选项内容的文本标签。当选项被选中时,方形框内会出现一个勾选标记(如 “√”,不同的 GUI 风格可能会有不同的选中标识,但一般是某种形式的填充或勾选),用于直观地显示该选项已被选中。例如,在文档编辑软件的字体设置界面,用于选择字体样式的选项(如 “加粗”“斜体”“下划线” 等)旁边的复选框,选中后会出现相应的勾选标记。

独立或成组显示:复选框既可以独立使用,也可以成组出现。独立使用时,它用于控制一个单独的选项;成组出现时,用户可以根据自己的需求选择多个选项。在界面设计中,它们同样可以通过布局管理器(如QVBoxLayout垂直排列或QHBoxLayout水平排列)进行整齐的排列,方便用户查看和选择。

就是可以同时选中!!
在这里插入图片描述

import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QWidget, QCheckBox, QVBoxLayout


class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("CheckBox学习!")
        self.setGeometry(100, 100 ,500, 400)

        # 创建中央容器
        central_widget = QWidget()
        self.setCentralWidget(central_widget)
        # 创建垂直布局
        ver_layout = QVBoxLayout()

        # 创建复选框
        check_box_1 = QCheckBox("男")
        check_box_2 = QCheckBox("女")
        
        # 添加复选框到布局
        ver_layout.addWidget(check_box_1)
        ver_layout.addWidget(check_box_2)

        # 添加垂直布局到中央布局
        central_widget.setLayout(ver_layout)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    mainwindow = MainWindow()
    mainwindow.show()
    sys.exit(app.exec())

2.5 Command Link Button

Command Link Button(命令链接按钮)是一种用户界面组件,它结合了按钮和超链接的一些特点。外观上类似于一个带有文本描述的按钮,并且通常还包含一个小箭头符号,用于暗示用户点击后会导向某个相关的操作或者详细信息。

就长下面这样!
在这里插入图片描述

这种按钮主要用于在图形用户界面中提供一些重要的命令操作,这些操作可能会打开一个新的窗口、执行一个复杂的任务或者引导用户进入一个详细信息页面。例如,在操作系统的用户账户设置界面,“更改账户类型” 可能会以命令链接按钮的形式呈现,用户点击后会跳转到详细的账户类型更改界面;在软件的帮助系统中,“查看高级功能介绍” 命令链接按钮可以引导用户到关于高级功能的详细说明文档。

带有箭头的文本按钮:命令链接按钮通常有一个比较明显的文本标签,用于清晰地告知用户按钮的功能。同时,按钮的右侧或下方会有一个箭头符号(具体位置可能因操作系统或界面风格而有所不同),这个箭头给用户一种视觉提示,暗示点击按钮后会有进一步的动作,比如打开一个关联的窗口或者跳转到相关的内容页面。

视觉上的突出性:为了吸引用户的注意力并强调其可操作性,命令链接按钮一般会在界面中有一定的视觉突出效果。这可能通过颜色对比(如与背景颜色形成鲜明对比的前景色)、字体加粗或者周围的空白空间(使其在布局中相对独立)等来实现,让用户能够容易地将其与普通的文本或其他非交互式元素区分开来。

import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QWidget, QCommandLinkButton, QVBoxLayout


class MainWindo(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Commadn Link Buuton 按钮学习!")
        self.setGeometry(100, 100, 500, 400)


        # 创建中央布局
        central_widget = QWidget()
        self.setCentralWidget(central_widget)

        # 创建垂直布局
        var_layout = QVBoxLayout()

        # 创建Commadn Link Buuton
        commadn_link_buuton = QCommandLinkButton("点我啊,点我!", "好心人点我可以获得100W!当然是假的了!")

        # 添加按钮到垂直布局
        var_layout.addWidget(commadn_link_buuton)

        # 添加垂直布局到中央布局
        central_widget.setLayout(var_layout)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    mainwindow = MainWindo()
    mainwindow.show()
    sys.exit(app.exec())

代码运行结果如下:
在这里插入图片描述

2.6 Dialog Button Box

定义:Dialog Button Box(对话框按钮盒)是图形用户界面(GUI)设计中的一个组件,用于在对话框或其他类似的弹出式窗口中统一管理和显示一组按钮。它提供了一种标准化的方式来组织诸如 “确定”“取消”“应用”“是”“否” 等功能按钮,这些按钮通常用于用户与对话框进行交互,以完成或取消某个操作、确认或拒绝某个设置等。

如下图
在这里插入图片描述

用途:在各种软件应用的对话框场景中广泛使用。例如,在文件保存对话框中,会有 “保存”“取消” 按钮;在消息提示对话框中,可能会有 “确定”“忽略”“详细信息” 等按钮。Dialog Button Box 确保这些按钮在对话框中的布局和行为符合用户界面设计的最佳实践,并且方便开发者进行管理,不用手动去逐个布局和处理这些按钮的位置、间距等问题。
外观特点

按钮组布局:它以水平或垂直的方式组织按钮,按钮之间的间距和排列方式通常遵循操作系统或所使用的 GUI 风格指南的标准。例如,在常见的桌面应用中,水平方向的对话框按钮盒里,按钮从左到右排列,并且间距均匀,符合用户对于按钮布局的常规预期。

自适应内容和样式: 根据添加到按钮盒中的按钮数量和类型,Dialog Button Box 能够自适应调整大小和外观 。它也可以继承所在对话框或窗口的样式,保持整体视觉风格的一致性。例如,如果对话框采用了某种特定的主题风格,如深色模式,对话框按钮盒中的按钮也会自动应用相应的颜色、字体等样式。

注意

里面的Ok,Cancel都是第一个字母大写!

Ok、Cancel

dartdialog_button = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)

2.6.1 直接显示代码如下

import sys
from PySide6.QtWidgets import QApplication, QWidget, QMainWindow, QDialogButtonBox, QVBoxLayout



class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Dialog 学习!")
        self.setGeometry(100, 100, 500, 400)



        # 创建中央布局
        central_widget = QWidget()
        self.setCentralWidget(central_widget)


        # 创建垂直布局
        var_layout = QVBoxLayout()

        # 创建dialog按钮
        dialog_button = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
        # 添加到垂直布局
        var_layout.addWidget(dialog_button)

        # 添加到中央窗口
        central_widget.setLayout(var_layout)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    mainwindow = MainWindow()
    mainwindow.show()
    sys.exit(app.exec())

运行结果如下:
在这里插入图片描述

2.6.2 可以修改ok,cancel 的内容

import sys
from PySide6.QtWidgets import QApplication, QWidget, QMainWindow, QDialogButtonBox, QVBoxLayout



class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Dialog 学习!")
        self.setGeometry(100, 100, 500, 400)



        # 创建中央布局
        central_widget = QWidget()
        self.setCentralWidget(central_widget)


        # 创建垂直布局
        var_layout = QVBoxLayout()

        # 创建dialog按钮
        dialog_button = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)

        # 获取ok,cancel对现象
        ok_button = dialog_button.button(QDialogButtonBox.Ok)
        ok_button.setText("是")
        cancel_button = dialog_button.button(QDialogButtonBox.Cancel)
        cancel_button.setText("否")


        # 添加到垂直布局
        var_layout.addWidget(dialog_button)

        # 添加到中央窗口
        central_widget.setLayout(var_layout)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    mainwindow = MainWindow()
    mainwindow.show()
    sys.exit(app.exec())

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/935301.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络基础 - TCP/IP 五层模型

文章目录 一、OSI 参考模型中各个分层的作用1、应用层2、表示层3、会话层4、传输层5、网络层6、数据链路层7、物理层 一、OSI 参考模型中各个分层的作用 1、应用层 2、表示层 负责设备固有数据格式和网络标准数据格式间的转换 3、会话层 4、传输层 负责连接的建立和断开&…

【git】git回退到之前版本+拓展git命令

一、问题 git提交有时候会出错&#xff0c;想回退到之前的版本 1、命令git reset --soft <commit_id> commit_id【回退到的编号】 2、git push --force-with-lease origin <branch_name> branch_name【分支名】 二、拓展 1、git bash 1、进入任意磁盘 cd 磁盘…

Tomcat项目本地部署

不依赖idea部署本地项目&#xff0c;这里使用哈米音乐为例。 哈米音乐项目为聚合项目&#xff0c;ham-parent为父模块&#xff0c;其余为子模块。 ham-console:后台模块 ham-core:公共模块 ham-file:图片模块 ham-portal:前台模块 需要将这些模块进行打包&#xff0c;点击右侧…

【数据结构——内排序】二路归并排序(头歌实践教学平台习题)【合集】

目录&#x1f60b; 任务描述 测试说明 我的通关代码: 测试结果&#xff1a; 任务描述 本关任务&#xff1a;实现二路归并算法。 测试说明 平台会对你编写的代码进行测试&#xff1a; 测试输入示例&#xff1a; 11 18 2 20 34 12 32 6 16 5 8 1 (说明&#xff1a;第一行是元…

东方明珠生成式人工智能媒体融合创新平台荣获AI Cloud轻量云典型案例

近日&#xff0c;由全球数字经济大会组委会主办&#xff0c;中国信息通信研究院&#xff08;以下简称“信通院”&#xff09;、中国通信企业协会承办的2024全球数字经济大会云AI计算国际合作论坛在北京成功召开。会上隆重发布了2024年“AI Cloud助力大模型场景化和工程化落地”…

高阶数据结构--B树B+树实现原理B树模拟实现--Java

目录 一、B-树概念 二、B-树插入分析 1.用序列{53, 139, 75, 49, 145, 36, 101}构建B树的过程如下&#xff1a; 2.插入过程总结 三、B树插入实现 四、B树 1.B树概念 2.B树的特性 五、B树应用 1.索引 2.Mysql索引 3.InnoDB 一、B-树概念 1970 年&#xff0c; R.Bayer 和…

优选算法——分治(快排)

1. 颜色分类 题目链接&#xff1a;75. 颜色分类 - 力扣&#xff08;LeetCode&#xff09; 题目展示&#xff1a; 题目分析&#xff1a;本题其实就要将数组最终分成3块儿&#xff0c;这也是后面快排的优化思路&#xff0c;具体大家来看下图。 这里我们上来先定义了3个指针&…

Edge SCDN的独特优势有哪些?

强大的边缘计算能力 Edge SCDN&#xff08;边缘安全加速&#xff09;是酷盾安全推出的边缘集分布式 DDoS 防护、CC 防护、WAF 防护、BOT 行为分析为一体的安全加速解决方案。通过边缘缓存技术&#xff0c;智能调度使用户就近获取所需内容&#xff0c;为用户提供稳定快速的访问…

「Mac玩转仓颉内测版45」小学奥数篇8 - 排列组合计算

本篇将通过 Python 和 Cangjie 双语讲解如何计算排列与组合。这道题目旨在让学生学会使用排列组合公式解决实际问题&#xff0c;并加深对数学知识和编程逻辑的理解。 关键词 小学奥数Python Cangjie排列与组合 一、题目描述 编写一个程序&#xff0c;计算从 n 个不同元素中取…

基于Q-Learning的机器人栅格地图路径规划,可以更改地图大小及起始点,可以自定义障碍物,MATLAB代码

基于Q-learning算法的栅格地图路径规划是一种利用强化学习技术来解决路径规划问题的方法。 状态空间定义&#xff1a;在路径规划任务中&#xff0c;状态通常代表机器人或智能体在环境中的位置。状态空间可以是离散的&#xff0c;如网格地图上的特定位置。 动作空间定义&#x…

中电金信携手中远海科,共启贸易金融数智新篇章

在数智化转型成为驱动经济社会高质量发展的新引擎背景下&#xff0c;“数智方案”栏目聚焦金融等国计民生重点行业场景&#xff0c;依托中电金信“源启筑基咨询引领应用重构”的产品及服务体系&#xff0c;输出市场洞察和行业解决方案、应用案例&#xff0c;旨在全面推动行业IT…

抗DDOS设备

0x00 定义: 抗DDOS设备顾名思义&#xff0c;就是防御DDoS攻击的设备&#xff0c;通常包含三个部分&#xff1a;检测中心、清洗中心和管理中心 检测中心主要负责对流量进行检测&#xff0c;发现流量异常后上报管理中心&#xff0c;由管理中心下发引流策略至清洗中心&#xff0…

游戏引擎学习第42天

仓库: https://gitee.com/mrxiao_com/2d_game 简介 目前我们正在研究的内容是如何构建一个基本的游戏引擎。我们将深入了解游戏开发的每一个环节&#xff0c;从最基础的技术实现到高级的游戏编程。 角色移动代码 我们主要讨论的是角色的移动代码。我一直希望能够使用一些基…

Node一、fs 模块、path 模块、端口号、 http 模块、

一、Node.js了解 Node.js是一个跨平台JavaScript运行环境&#xff0c;使开发者可以搭建服务器端的JavaScript应用程序。 概念&#xff1a;使用 Node.js 编写后端程序 / 支持前端工程化 ✓ 后端程序&#xff1a;提供接口和数据&#xff0c;网页资源等 ✓ 前端工程化 &#x…

游戏引擎学习第44天

仓库: https://gitee.com/mrxiao_com/2d_game 向量数学的重要性 矢量数学非常重要&#xff0c;因为 它在某种程度上类似于将C和C视为高于汇编语言的语言&#xff0c;从而使得我们能够以略高的层次思考问题&#xff0c;同时保留大部分性能好处和直接访问的类型。这种思维方式就…

【算法day13】二叉树:递归与回溯

题目引用 找树左下角的值路径总和从中序与后序遍历构造二叉树 今天就简简单单三道题吧~ 1. 找到树左下角的值 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1 我们…

MindSearch深度解析实践

1. 课程内容 1.1 MindSearch 简介 MindSearch 是一个开源的 AI 搜索引擎框架&#xff0c;具有与 Perplexity.ai Pro 相同的性能。我们可以轻松部署它来构建自己的专属搜索引擎&#xff0c;可以基于闭源的LLM&#xff08;如GPT、Claude系列&#xff09;&#xff0c;也可以使用…

【数据结构进阶】AVL树深度剖析 + 实现(附源码)

&#x1f31f;&#x1f31f;作者主页&#xff1a;ephemerals__ &#x1f31f;&#x1f31f;所属专栏&#xff1a;数据结构 目录 前言 一、AVL树的概念 二、AVL树底层解析及实现 1. 节点的定义 2. 接口声明 3. AVL树的插入 3.1 更新平衡因子 3.2 旋转&#xff08;重点…

黑马商城微服务复习(6)

MQ高级 1. 消息可靠性2. 发送者的可靠性1. 发送者问题2. 生产者重试机制3. 生产者确认机制4. MQ可靠性5. 消费者的可靠性 3. 延迟消息1. 定义2. 死信交换机 1. 消息可靠性 发送消息时丢失&#xff1a; 生产者发送消息时连接MQ失败生产者发送消息到达MQ后未找到Exchange生产者发…

深度优先搜索(DFS)与回溯法:从全排列到子集问题的决策树与剪枝优化

文章目录 前言&#x1f384;一、全排列✨核心思路✨实现步骤✨代码✨时间和空间复杂度&#x1f381;1. 时间复杂度&#x1f381;2. 空间复杂度 &#x1f384;二、子集✨解法一&#xff1a;逐位置决策法&#x1f381;步骤分析&#x1f381;运行示例&#x1f381;代码 ✨解法二&a…