QT slots 函数

ops/2024/10/20 11:51:55/

文章目录

  • 概述
  • 小结

概述

在Qt中,slots 是一种特殊的成员函数,它们可以与对象发出的信号连接。当信号被触发时,连接的槽函数会被调用。

来个简单的示例吧,如下图:

#include <QObject>
#include <QDebug>class MyClass : public QObject {Q_OBJECTpublic:MyClass() {// 连接信号和槽connect(this, &MyClass::someSignal, this, &MyClass::someSlot);}signals:void someSignal(); // 声明一个无参数的信号public slots:void someSlot() { // 声明一个无参数的槽函数qDebug() << "someSlot called!";}void anotherSlot(int value) { // 声明一个有参数的槽函数qDebug() << "anotherSlot called with value:" << value;}
};int main() {MyClass obj;obj.emit someSignal(); // 发出信号obj.anotherSlot(42); // 直接调用槽函数return 0;
}

如果对C++熟悉,可以直接把connect函数改成其他格式,如下是lamda表达式:

#include <QObject>
#include <QDebug>class MyClass : public QObject {Q_OBJECTpublic:MyClass() {// 连接信号和槽connect(this, &MyClass::someSignal, this, [this](){qDebug() << "someSlot Called!";  //1将调用写到lamda中//emit anotherSlot(42);			// 2也可以调用另外一个slot函数});}signals:void someSignal(); // 声明一个无参数的信号public slots:// void someSlot() { // 声明一个无参数的槽函数//     qDebug() << "someSlot called!";// }void anotherSlot(int value) { // 声明一个有参数的槽函数qDebug() << "anotherSlot called with value:" << value;}
};int main() {MyClass obj;obj.emit someSignal(); // 发出信号obj.anotherSlot(42); // 直接调用槽函数return 0;
}

小结

这篇主要写了qt slots函数,不熟悉qt经常忘记这个,其余的内容对c++程序来说就容易驾驭多了。OK,下篇写点有用的,好玩的内容。


http://www.ppmy.cn/ops/56046.html

相关文章

c#中的超时终止

在C#中&#xff0c;可以使用CancellationToken和Task的超时机制来实现调用方法时的超时终止。 一 用Task.Delay(int)模拟耗时操作 static async Task Main(string[] args){using (var cts new CancellationTokenSource(1 * 1000)){await doSomething(cts.Token);}Console.Wr…

mybatis中的标签

在MyBatis中&#xff0c;除了基本的SQL映射功能外&#xff0c;还有许多用于动态SQL构建的标签。这些标签允许我们根据不同的条件和需求构建复杂的SQL语句。主要的动态SQL标签包括<if>, <choose>, <when>, <otherwise>, <trim>, <set>, <…

【matlab 路径规划】基于改进遗传粒子群算法的药店配送路径优化

一 背景介绍 本文分享的是一个基于订单合并的订单分配和路径规划联合优化&#xff0c;主要背景是骑手根据客户需求&#xff0c;从药店取药之后进行配送&#xff0c;配送的过程中考虑路径的长度、客户的服务时间窗、车辆的固定成本等要素&#xff0c;经过建模和优化得到最优的配…

lora/lycoris

Stable Diffusion 训练指南 (LyCORIS) | Coding HuskyStable Diffusion 文字生成图片的教程已经很多了。这篇文章是讲解如何用 Kohya Trainer 在 Google Colab 上训练一个 LyCORIS 模型。在读之前希望你已经至少玩过 Stable Diffusion。https://ericfu.me/stable-diffusion-fin…

IDEA 一键部署Docker

以部署示例服务&#xff08;sevnce-demo&#xff09;为例。 配置服务器 地址、账号、密码根据实际情况填写 配置镜像仓库 地址、账号、密码根据实际情况填写 编写Dockerfile 在sevnce-demo根目录下右键&#xff0c;选择创建Dockerfile。 # 基础镜像 FROM sevnce-registry.c…

四、(2)获取数据(补充urllib)(爬虫及数据可视化)

四、&#xff08;2&#xff09;获取数据&#xff08;补充urllib&#xff09;&#xff08;爬虫及数据可视化&#xff09; urllibget请求post请求User-AgentResponse模拟真实信息在豆瓣spider中真实实现 urllib 此处的扩展&#xff0c;可以进行在主体的程序学习完成后&#xff0…

mAP(平均精度均值)全面解读:评估目标检测性能的黄金标准

mAP&#xff08;平均精度均值&#xff09;全面解读&#xff1a;评估目标检测性能的黄金标准 在目标检测领域&#xff0c;评估模型性能是至关重要的一步。mAP&#xff08;mean Average Precision&#xff0c;平均精度均值&#xff09;作为目标检测任务中一个关键的性能评估指标…

我国静止无功发生器(SVG)市场规模逐渐扩大 高压SVG为主流产品

我国静止无功发生器&#xff08;SVG&#xff09;市场规模逐渐扩大 高压SVG为主流产品 静止无功发生器&#xff08;SVG&#xff09;又称为静止同步补偿器、先进静止补偿器、静止调相机等&#xff0c;是利用全控型功率器件组成的桥式变流器来实现动态无功调节的一种先进无功自动补…