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

QT slots 函数

文章目录

  • 概述
  • 小结

概述

在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.lryc.cn/news/393265.html

相关文章:

  • pycharm如何使用jupyter
  • 机器学习——无监督学习(k-means算法)
  • 强化学习-6 DDPG、PPO、SAC算法
  • vue3实现多表头列表el-table,拖拽,鼠标滑轮滚动条优化
  • Micron近期发布了32Gb DDR5 DRAM
  • SQL Server时间转换
  • kubernetes集群部署:node节点部署和CRI-O运行时安装(三)
  • 03:Spring MVC
  • 玩转springboot之springboot注册servlet
  • 推荐好玩的工具之OhMyPosh使用
  • pydub、ffmpeg 音频文件声道选择转换、采样率更改
  • 0803实操-Windows Server系统管理
  • 使用Java构建物联网应用的最佳实践
  • 价格预言机的使用总结(一):Chainlink篇
  • 【Pyhton】读取寄存器数据到MySQL数据库
  • jmeter-beanshell学习3-beanshell获取请求报文和响应报文
  • 【C++】B树及其实现
  • C++(Qt)-GIS开发-QGraphicsView显示瓦片地图简单示例
  • CTFShow的RE题(三)
  • WordPress主题开发进群付费主题v1.1.2 多种引流方式
  • SAP中的 UPDATA TASK 和 BACKGROUND TASK
  • UDP协议:独特之处及其在网络通信中的应用
  • 支持向量机(Support Vector Machine,SVM)及Python和MATLAB实现
  • 【RT-thread studio 下使用STM32F103-学习sem-信号量-初步使用-线程之间控制-基础样例】
  • 使用nodejs输出著作权申请所需的word版源码
  • [Vite]vite-plugin-react和vite-plugin-react-swc插件原理了解
  • 记一次使用“try-with-resources“的语法导致的BUG
  • 用Excel处理数据图像,出现交叉怎么办?
  • SpringBoot | 大新闻项目后端(redis优化登录)
  • ESP32——物联网小项目汇总