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

Qt常用控件之按钮类控件

目录

QPushButton

添加图标

添加快捷键

QRadioButton

关于toggled

模拟点餐功能

QCheckBox


刚刚 QWidget 中涉及到的各种 属性/函数/使用方法,针对接下来要介绍的 Qt 的各种控件都是有效的,因为各种控件都是继承自 QWidget 的

接下来本篇博客就学习 Qt 中提供的常用的按钮类控件

QPushButton

使用 QPushButton 表示一个按钮,这也是当前我们最熟悉的一个控件了
我们在前面经常使用pushButton,设置按钮的文本,还使用按钮的点击信号(clicked),并把这个点击信号绑定在槽函数上,于是就会在点击按钮的时候,触发对应的函数调用

QPushButton 继承自 QAbstractButton,这个类是一个抽象类,是其他按钮的父类

抽象类
这个类包含了 纯虚函数,无法创建出实例(对象),就得创建子类,重写上述的纯虚函数,才能够创建出子类的实例

继承关系如下所示:


下面看 QAbstractButton 中,和 QPushButton 相关性较大的属性:

              属性                                    说明
              text按钮中的文本
              icon按钮中的图标
          iconSize按钮中图标的尺寸
          shortCut按钮对应的快捷键
        autoRepeat按钮是否会重复触发,当鼠标左键按住不放时:
如果设为 true,则会持续产生鼠标点击事件;
如果设为 false,则必须释放鼠标,再次按下鼠标时才能产生点击事件
(相当于游戏手柄上的"连发"效果)
    autoRepeatDelay重复触发的延时时间,按住按钮多久之后,开始重复触发
   autoRepeatInterval重复触发的周期

添加图标

这里说一句,在我们后续编写代码时,如果用到一些图片等外部资源,都会优先考虑 qrc,除非这个资源太大了

下面创建一个新的qrc文件(前面已经做过类似的操作):
先点新建文件,选择 Qt - Resource,点 Add Prefix 创建前缀,再点 Add Files,此时将图片拷贝到弹出的路径即可,最终结果为下图所示:

接下来通过 图形化 的方式,创建一个按钮:

下面在构造函数中,进行代码的编写:

需要注意:
setIconSize 这个函数中,参数是 QSize,所以需要创建一个 QSize 对象,或是像上图一样创建一个匿名对象,作为参数传入

运行程序:

可以看到我们传入的图片已经被添加为按钮图标了


添加快捷键

前面写过一个例子,通过四个按钮,控制 target 按钮的移动
之前这个移动是通过 鼠标点击按钮 来实现的
此处就可以引入快捷键,通过快捷键来操作,此处按钮直接通过图片来表示

接下来继续创建一个新的qrc文件,在当前路径下创建一个文件夹,再将刚刚图标的 dog.png 和四个箭头图片都放进去:

把图片导入项目的时候,由于图片多了,不想再继续放到项目根目录下了,就创建了 image 目录,把图片放到 image 目录中,此时意味着后续访问这些图片,就需要再路径中带上 image 这一级目录名字

下面编辑 ui 界面,按钮上面没有编辑文本,因为等会会添加图标:

此时 Qt Designer 的右上角如下:
这也就是 Qt 程序运行过程中,对象树的模样,可以更直观的看到对象结构,以及每个对象的 objectName

下面编写构造函数,完成初始化操作:

此时运行程序,效果如下:

实现方向键的槽函数:

此时运行程序后,点击上下左右,target按钮 也会上下左右移动,没有问题


下面设置快捷键,也是需要在 Widget 的构造函数中完成,程序一启动,快捷键就是有效的:

setShortcut函数 的参数是 QKeySequence:

此时就可以按键盘上的 WSAD,控制 target按钮 的上下左右移动啦

这是直接通过按键的名字来设置,虽然简单,但是容易写错
还可以通过按键的枚举来设置快捷键:

上述第二种方式是比较推荐的,因为可以自己选择,如果按键拼写错误会报错
而上面第一种靠自己手输按键,可能会出现按键拼写错误的情况,而且还不报错

上述的设置快捷键只设置了一个键,我们也可以设置组合键:
两种方式是一样的

关于连发功能

键盘快捷键,默认就是能连发的
例如:长按D,就能够一直向右移动

但是鼠标点击按钮则不行,想要鼠标也支持连发,就需要设置 autoReapeat 属性了:

到此 pushButton 添加快捷键的知识就讲述完毕了


QRadioButton

QRadioButton 是单选按钮,可以让我们在多个选项中选择一个

QAbstractButton 中和 QRadioButton 关系较大的属性:

             属性                                                      说明
         checkable是否能选中
          checked是否已经被选中,checkable是checked的前提条件
      autoExclusive是否排他
选中一个按钮之后是否会取消其他按钮的选中
因为是单选按钮,所以对于 QRadioButton 来说默认就是排他的

下面以 图形化 的方式创建三个 RadioButton:

再创建一个 Label:

下面分别给这三个按钮,右键点击转到槽:

此时运行程序:

点击男:

点击女:

可以发现 RadioButton 是排他的,并且点击对应的按钮,label 的文本也会发送改变


上述的代码,在刚开始运行程序时,一个选项都没有选,我们也可以在构造函数中添加一个默认的选项:

此时运行程序,会默认选择性别男:


如果想禁用某个选项,比如禁用掉 其他 选择
在构造函数中加入下面的代码:

此时运行程序,点击 其他 按钮,发现没有选中 其他 按钮,但是上面的 label 文本却发生了改变:

所以可以得知 checkable 只是能够让按钮不被选中,但是仍然是可以响应点击事件的
这是不符合预期的,所以我们应该调用 setEnabled 函数完成这个操作:

此时运行程序,发现 其他 按钮变为灰色,无法点击了:


关于toggled

下面说明一下,在前面的操作中,执行转到槽时,大多数使用的 clicked,表示点击
pressed表示按下, released表示抬起
clicked = pressed + released

而关于 clicked(bool) 和 toggled(bool) 一直都没有介绍, 因为在 QPushButton 中,这两个体现不出来效果,而现在在 QRadioButton 中就可以介绍了

下面创建4个 RadioButton:

给 1号QRadioButton 转到槽时,选择 clicked(bool)
给 2号QRadioButton 转到槽时,选择 pressed
给 3号QRadioButton 转到槽时,选择 realeased
给 3号QRadioButton 转到槽时,选择 toggled(bool)

此时运行程序:
多次点击按钮1,会打印多次 clicked

按钮2只要鼠标按下,不用抬起来,也会打印:

按钮3只有按下的鼠标抬起来,才会打印:

点击按钮4,会从false的状态切换到true,所以会打印true:

如果重复点击按钮4,并不会额外打印内容,因为并没有切换状态
下面再点击按钮1,此时按钮4的状态就发送改变了, 所以就会打印 toggled: false:


模拟点餐功能

先创建三个 label,8个 RadioButton:

RadioButton 默认是 排他的,一旦界面上需要存在"多组"单选按钮的时候,我们希望组和组之间不要有影响
例如在选择汉堡、小食、饮料下方,只有同队列的需要排他性,相互之间不希望发送干扰

所以 Qt 中的 QButtonGroup 类,可以针对单选按钮进行分组

此时运行程序,就能够完成我们的需求了:


QCheckBox

上述的 QRadioButton 是单选按钮,这里的 QCheckBox 是复选按钮,可以允许选中多个

和 QChedkBox 最相关的属性,也是 checkable 和 checked,都是继承自 QAbstractButton

下面使用 QCheckBox,完成用户选择完成后,点击下面的 QPushButton 按钮,就能够在 Label 中显示出来:

此时编写 QPushButton 按钮的槽函数:

运行程序,效果如下:

上述功能是点击确认按钮后,上面的 Label 会显示所点击的事情,我们也可以设置 QCheckBox 的槽函数,可以让我们一点击复选框,就显示我们所点击的事情,这里就不多叙述了


按钮类控件到此学习结束

相关文章:

Qt常用控件之按钮类控件

目录 QPushButton 添加图标 添加快捷键 QRadioButton 关于toggled 模拟点餐功能 QCheckBox 刚刚 QWidget 中涉及到的各种 属性/函数/使用方法,针对接下来要介绍的 Qt 的各种控件都是有效的,因为各种控件都是继承自 QWidget 的 接下来本篇博客就学…...

Wonder3D本地部署到算家云搭建详细教程

Wonder3D简介 Wonder3D仅需2至3分钟即可从单视图图像中重建出高度详细的纹理网格。Wonder3D首先通过跨域扩散模型生成一致的多视图法线图与相应的彩色图像,然后利用一种新颖的法线融合方法实现快速且高质量的重建。 本文详细介绍了在算家云搭建Wonder3D的流程以及…...

景联文科技:高质量数据采集标注服务引领AI革新

在当今这个数字化时代,数据已经成为推动社会进步和产业升级的关键资源。特别是在人工智能领域,高质量的数据是训练出高效、精准的AI模型的基础。景联文科技是一家专业的数据采集与标注公司,致力于为客户提供高质量的数据处理服务,…...

企业面试真题----阿里巴巴

1.HashMap为什么不是线程安全的? 首先hashmap就是为单线程设计的,并不适合于多线程环境,而hashmap的线程不安全原因主主要是以下两个原因: 死循环 死循环问题发生在jdk1.8之前(不包含1.8),造…...

极狐GitLab 17.6 正式发布几十项与 DevSecOps 相关的功能【四】

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 官网极狐…...

【C++知识总结2】C++里面的小配角cout和cin

一、引入 第一个关于输入输出的C代码 #include<iostream> // std是C标准库的命名空间名&#xff0c;C将标准库的定义实现都放到这个命名空间中 using namespace std; int main() {cout<<"Hello world!!!"<<endl;return 0; } 1. 使用cout标准输出…...

门控循环单元(GRU)与时间序列预测应用

一、GRU简介 门控循环单元&#xff08;Gated Recurrent Unit&#xff0c;简称GRU&#xff09;是一种简化版的LSTM&#xff08;长短期记忆网络&#xff09;&#xff0c;专门用于解决长序列中的梯度消失问题。与LSTM相比&#xff0c;GRU具有更简单的结构和较少的参数&#xff0c…...

Spring Boot 3 集成 Spring Security(2)授权

文章目录 授权配置 SecurityFilterChain基于注解的授权控制自定义权限决策 在《Spring Boot 3 集成 Spring Security&#xff08;1&#xff09;》中&#xff0c;我们简单实现了 Spring Security 的认证功能&#xff0c;通过实现用户身份验证来确保系统的安全性。Spring Securit…...

互联网摸鱼日报(2024-11-22)

互联网摸鱼日报(2024-11-22) 36氪新闻 学习马斯克不丢人&#xff0c;脸书也开始改造自己了 旅游行业趋势变了&#xff0c;增长还能从哪里寻找&#xff1f; 大厂入局后&#xff0c;小型小游戏团队能否继续喝一口汤&#xff1f; 一拥而上的“跨界咖啡”&#xff0c;是“走心”…...

RNN并行化——《Were RNNs All We Needed?》论文解读

InfoPaperhttps://arxiv.org/abs/2410.01201GitHubhttps://github.com/lucidrains/minGRU-pytorch个人博客地址http://myhz0606.com/article/mini_rnn 最近在看并行RNN相关的paper&#xff0c;发现很多都利用了Parallel Scanning算法。本文将从Parallel Scanning算法开始&…...

机器学习周志华学习笔记-第6章<支持向量机>

机器学习周志华学习笔记-第6章<支持向量机> 卷王&#xff0c;请看目录 6支持向量机6.1 函数间隔与几何间隔6.1.1 函数间隔6.1.2 几何间隔 6.2 最大间隔与支持向量6.3 对偶问题6.4 核函数6.5 软间隔支持向量机6.6 支持向量机6.7核方法 6支持向量机 支持向量机是一种经典…...

IP反向追踪技术,了解一下?

DOSS&#xff08;拒绝服务&#xff09;攻击是现在比较常见的网络攻击手段。想象一下&#xff0c;有某个恶意分子想要搞垮某个网站&#xff0c;他就会使用DOSS攻击。这种攻击常常使用的方式是IP欺骗。他会伪装成正常的IP地址&#xff0c;让网络服务器以为有很多平常的请求&#…...

2025蓝桥杯(单片机)备赛--扩展外设之UART1的原理与应用(十二)

一、串口1的实现原理 a.查看STC15F2K60S2数据手册: 串口一在590页&#xff0c;此款单片机有两个串口。 串口1相关寄存器&#xff1a; SCON:串行控制寄存器&#xff08;可位寻址&#xff09; SCON寄存器说明&#xff1a; 需要PCON寄存器的SMOD0/PCON.6为0&#xff0c;使SM0和SM…...

Linux 使用gdb调试core文件

core文件和gdb调试 什么是 core 文件&#xff1f;产生core文件的原因&#xff1f;core 文件的控制和生成路径gdb 调试core 文件引用和拓展 什么是 core 文件&#xff1f; 当程序运行过程中出现Segmentation fault (core dumped)错误时&#xff0c;程序停止运行&#xff0c;并产…...

Python后端flask框架接收zip压缩包方法

一、用base64编码发送&#xff0c;以及接收 import base64 import io import zipfile from flask import request, jsonifydef unzip_and_find_png(zip_data):# 使用 BytesIO 在内存中处理 zip 数据with zipfile.ZipFile(io.BytesIO(zip_data), r) as zip_ref:extracted_paths…...

【21-30期】Java技术深度剖析:从分库分表到微服务的核心问题解析

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;Java &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 文章题目&#xff1a;Java技术深度剖析&#xff1a;从分库分表到微服务的核心问题解析 摘要&#xff1a; 本…...

Linux 中 find 命令使用详解

目录 一&#xff1a;基本语法二&#xff1a;搜索路径1、限制递归层级2、排除指定路径 三&#xff1a;匹配条件1、按照文件名搜索2、按文件类型搜索3、按文件大小搜索4、按文件权限搜索5、按文件所有者或所属组搜索6、按文件修改时间搜索 四&#xff1a;执行操作1、输出满足条件…...

云服务器部署WebSocket项目

WebSocket是一种在单个TCP连接上进行全双工通信的协议&#xff0c;其设计的目的是在Web浏览器和Web服务器之间进行实时通信&#xff08;实时Web&#xff09; WebSocket协议的优点包括&#xff1a; 1. 更高效的网络利用率&#xff1a;与HTTP相比&#xff0c;WebSocket的握手只…...

林业产品智能推荐引擎:Spring Boot篇

1 绪论 1.1 选题背景 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。计算机软件可以针对不同行业的营业特点以及管理需求&#xff0c;设置不同的功能&…...

【C++】LeetCode:LCR 077. 排序链表

题干 LCR 077. 排序链表 给定链表的头结点 head &#xff0c;请将其按 升序 排列并返回 排序后的链表 。 解法&#xff1a;归并排序 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(null…...

git教程

文章目录 简介&#xff1a;使用教程&#xff1a;&#xff08;1&#xff09;安装git&#xff1a;&#xff08;2&#xff09;设置用户名和邮箱作为标识符&#xff1a;&#xff08;3&#xff09;建立本地仓库&#xff1a;本地仓库作用&#xff1a;&#xff08;1&#xff09;将文件…...

报表工具功能对比:免费易上手的山海鲸报表 vs 庞大用户群体的Tableau

在数据报表与分析领域&#xff0c;随着大数据技术的不断发展和企业数字化转型的深入&#xff0c;市面上涌现出了众多报表工具&#xff0c;为用户提供多元化的选择。对于企业数据分析师、IT人员及管理层来说&#xff0c;选择一款适合自己的报表工具至关重要。本文将从多个角度对…...

鸿蒙原生应用开发及部署:首选华为云,开启HarmonyOS NEXT App新纪元

目录 前言 HarmonyOS NEXT&#xff1a;下一代操作系统的愿景 1、核心特性和优势 2、如何推动应用生态的发展 3、对开发者和用户的影响 华为云服务在鸿蒙原生应用开发中的作用 1、华为云ECS C系列实例 &#xff08;1&#xff09;全维度性能升级 &#xff08;2&#xff…...

CSS之3D转换

三维坐标系 三维坐标系其实就是指立体空间&#xff0c;立体空间是由3个轴共同组成的。 x轴:水平向右注意:x右边是正值&#xff0c;左边是负值 y轴:垂直向下注意:y下面是正值&#xff0c;上面是负值 z轴:垂直屏幕注意:往外面是正值&#xff0c;往里面是负值 3D移动 translat…...

uni-app初学笔记:文件路径与作用

components:可复用的组件pages:页面&#xff08;可见/不可见&#xff09;static:静态资源&#xff0c;存放图片视频等 &#xff08;相当于vue项目的 assets&#xff09;mainjs:Vue初始化入口文件App.vue:应用配置&#xff0c;用来配置App全局样式以及监听pages.json :配置页面路…...

子组件中$emit和update更新传递变量

vue2.6之后才可以使用update更新&#xff0c;vue2.6以下版本使用input和v-model 需求描述&#xff1a;蒙层上展示弹窗&#xff0c;弹窗点击关闭&#xff0c;需要向父传递关闭的信息 方法1&#xff0c;简便直接传递变量visible&#xff08;或者不改名isModalVisible也是可以的…...

浅谈Python库之lxml

一、基本介绍 lxml 是一个用 Python 编写的库&#xff0c;它提供了对 XML 和 HTML 文档的解析和操作功能。它使用 C 语言编写的 libxml2 和 libxslt 库作为后端&#xff0c;因此解析速度非常快&#xff0c;并且能够处理大型文档。lxml 支持 XPath 和 XSLT&#xff0c;这使得它在…...

spring boot框架漏洞复现

spring - java开源框架有五种 Spring MVC、SpringBoot、SpringFramework、SpringSecurity、SpringCloud spring boot版本 版本1: 直接就在根下 / 版本2:根下的必须目录 /actuator/ 端口:9093 spring boot搭建 1:直接下载源码打包 2:运行编译好的jar包:actuator-testb…...

IDEA插件CamelCase,快速转变命名格式

在IDEA上大小写转换的快捷键是 CtrlshitU 其它的格式转换的快捷键是 shitaltu 安装方法&#xff1a; file-settings-plugins-在marketplace搜索“CamelCase”-点击安装。 安装成功设置后&#xff0c;重新打开idea 下载完成后 点击 Apply 和OK 此刻就可以选中命名 并使用快捷…...

Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选了另一个master,怎么办?

大家好&#xff0c;我是锋哥。今天分享关于【Elasticsearch中的节点&#xff08;比如共20个&#xff09;&#xff0c;其中的10个选了一个master&#xff0c;另外10个选了另一个master&#xff0c;怎么办&#xff1f;】面试题。希望对大家有帮助&#xff1b; Elasticsearch中的节…...

Spring Boot 集成 Knife4j 的 Swagger 文档

在开发微服务应用时&#xff0c;API 文档的生成和维护是非常重要的一环。Swagger 是一个非常流行的 API 文档工具&#xff0c;可以帮助我们自动生成 RESTful API 的文档&#xff0c;并提供了一个友好的界面供开发者测试 API。本文将介绍如何在 Spring Boot 项目中集成 Knife4j …...

C# 创建快捷方式文件和硬链接文件

C# 创建快捷方式文件和硬链接文件 引言什么是快捷方式什么是硬链接文件硬链接与快捷方式不同 实现创建快捷方式文件实现创建硬链接文件小结 引言 什么是快捷方式 平常我们最常window桌面上点击的左下角带小箭头的文件就是快捷方式了&#xff0c;大家都很熟悉它。快捷方式是Wi…...

Linux高阶——1123—服务器基础服务器设备服务器基础能力

目录 1、服务器基础 1、服务器基本概述 2、服务器设计之初解决的问题 网络穿透 网络数据设备间的收发 3、服务器的类型C/S、B/S 2、服务器设备 将自己的服务器软件部署上线 3、代理服务器负载均衡&#xff0c;以及地址绑定方式 4、服务器的基础能力 1、服务器基础 1…...

LabVIEW串口通讯速度

LabVIEW串口通讯能达到的速度 LabVIEW支持高效的串口通讯&#xff0c;通过优化设置&#xff0c;理论上可以实现每次接收一个字节时达到1ms甚至更短的周期。不过&#xff0c;实际性能会受到以下因素的限制&#xff1a; ​ 波特率&#xff08;Baud Rate&#xff09;&#xff1a;…...

Jmeter中的监听器

3&#xff09;监听器 1--查看结果树 用途 调试测试计划&#xff1a;查看每个请求的详细信息&#xff0c;帮助调试和修正测试计划。分析响应数据&#xff1a;查看服务器返回的响应数据&#xff0c;验证请求是否成功。检查错误&#xff1a;识别和分析请求失败的原因。 配置步骤…...

缺失的第一个正数(java)

题目描述&#xff1a; 给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,0] 输出&#xff1a;3 解释&#xff1a;范围 […...

跨部门文件共享安全:平衡协作与风险的关键策略

在现代企业中&#xff0c;跨部门协作已成为推动业务发展的关键因素。然而&#xff0c;随着信息的自由流动和共享&#xff0c;文件安全风险也随之增加。如何在促进跨部门协作的同时&#xff0c;确保文件共享的安全性&#xff0c;成为了一个亟待解决的问题。 一、明确文件分类与…...

一键AI换脸软件,支持表情控制,唇形同步Facefusion-3.0.0发布!支持N卡和CPU,一键启动包

嗨,小伙伴们!还记得小编之前介绍的FaceFusion 2.6.1吗?今天给大家带来超级exciting的消息 —— FaceFusion 3.0.0闪亮登场啦! &#x1f31f; 3.0.0版本更新 &#x1f3d7;️ 全面重构:修复了不少小虫子,运行更稳定,再也不怕突然罢工啦! &#x1f600; Live Portrait功能:新增…...

我要成为算法高手-递归篇

目录 题目1&#xff1a;汉诺塔题目2&#xff1a;合并两个有序链表题目3&#xff1a;反转链表题目4&#xff1a;两两交换链表中的结点题目5&#xff1a;Pow(x,n) 题目1&#xff1a;汉诺塔 面试题 08.06. 汉诺塔问题 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1…...

Git 提交的相对引用

Git 提交的相对引用 在 Git 中&#xff0c;使用 ~ 和 ^ 符号可以帮助你更灵活地引用提交历史中的特定提交。以下是这些符号的具体用法和示例&#xff1a; 1. ~&#xff08;波浪号&#xff09; ~ 符号用于指向上一个或多个父提交。它总是沿着第一个父提交的链向上追溯。 HEA…...

国内首家! 阿里云人工智能平台 PAI 通过 ITU 国际标准测评

近日&#xff0c;阿里云人工智能平台 PAI 顺利通过中国信通院组织的 ITU-T AICP-GA&#xff08;Technical Specification for Artificial Intelligence Cloud Platform&#xff1a;General Architecture&#xff09;国际标准和《智算工程平台能力要求》国内标准一致性测评&…...

CDAF / PDAF 原理 | PDAF、CDAF 和 LAAF 对比 | 图像清晰度评价指标

注&#xff1a;本文为 “CDAF / PDAF 原理 | PDAF、CDAF 和 LAAF 对比 | 图像清晰度评价指标” 几篇相关文章合辑。 文章中部分超链接、图片异常受引用之前的原文所限。 相机自动对焦原理 TriumphRay 于 2020-01-16 18:59:41 发布 凸透镜成像原理 这一部分大家中学应该就学过…...

小米C++ 面试题及参考答案下(120道面试题覆盖各种类型八股文)

指针和引用的区别?怎么实现的? 指针和引用有以下一些主要区别。 从概念上来说,指针是一个变量,它存储的是另一个变量的地址。可以通过指针来间接访问所指向的变量。例如,我们定义一个整型指针int *p;,它可以指向一个整型变量的内存地址。而引用是一个别名,它必须在定义的…...

WPF异步UI交互功能的实现方法

前面的文章我们提及过&#xff0c;异步UI的基础实现。基本思路主要是开启新的UI线程&#xff0c;并通过VisualTarget将UI线程上的Visual(即RootVisual)连接到主线程上的UI上即可渲染显示。 但是&#xff0c;之前的实现访问是没有交互能力的&#xff0c;视觉树上的UI并不能实现…...

2024 java大厂面试复习总结(一)(持续更新)

10年java程序员&#xff0c;2024年正好35岁&#xff0c;2024年11月公司裁员&#xff0c;记录自己找工作时候复习的一些要点。 java基础 hashCode()与equals()的相关规定 如果两个对象相等&#xff0c;则hashcode一定也是相同的两个对象相等&#xff0c;对两个对象分别调用eq…...

TCP/IP学习笔记

TCP\IP从实际应用的五层结构开始&#xff0c;自顶而下的去分析每一层。 TCP/IP五层架构概述 学术上面是TCP/IP四层架构&#xff0c;OSI/ISO是七层架构&#xff0c;实际中使用的是TCP/IP五层架构。 数据链路层 ICMP数据包分析 Wireshark抓包分析ICMP协议_wireshark抓ping包分析…...

基于IPMI的服务器硬件监控指标解读

在现代化数据中心中&#xff0c;服务器的稳定运行对于保障业务连续性至关重要。为了实时掌握服务器的健康状况&#xff0c;运维团队需要借助高效的监控工具。监控易作为一款功能强大的监控软件&#xff0c;支持使用IPMI&#xff08;Intelligent Platform Management Interface&…...

相亲交友小程序项目介绍

一、项目背景 在当今快节奏的社会生活中&#xff0c;人们忙于工作和事业&#xff0c;社交圈子相对狭窄&#xff0c;寻找合适的恋爱对象变得愈发困难。相亲交友作为一种传统而有效的社交方式&#xff0c;在现代社会依然有着巨大的需求。我们的相亲交友项目旨在为广大单身人士提…...

Day3 洛谷Day3 1161+1179+1200+1304

零基础洛谷刷题记录 Day1 2024.11.18 Day2 2024.11.25 Day3 2024.11.26 文章目录 零基础洛谷刷题记录1161&#xff1a;题目描述1161&#xff1a;解题代码1161&#xff1a;学习成果1179&#xff1a;题目描述&#xff08;成功写出&#xff09;1179&#xff1a;解题代码1179&…...

【通俗理解】ELBO(证据下界)——机器学习中的“情感纽带”

【通俗理解】ELBO&#xff08;证据下界&#xff09;——机器学习中的“情感纽带” 关键词提炼 #ELBO #证据下界 #变分推断 #机器学习 #潜变量模型 #KL散度 #期望 #对数似然 第一节&#xff1a;ELBO的类比与核心概念【尽可能通俗】 ELBO&#xff0c;即证据下界&#xff0c;在…...