广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Qt中简单的按钮槽函数传递参数方法
  • 885
分享到

Qt中简单的按钮槽函数传递参数方法

Qt按钮槽函数按钮槽传递参数Qt按钮槽传递参数 2022-11-13 19:11:34 885人浏览 独家记忆
摘要

目录Qt按钮槽函数传递参数方法Qt槽函数的几种用法通过ui控件添加槽函数通过connect连接Qt按钮槽函数传递参数方法 Qt中一个典型的点击按钮触发槽函数的写法是: connect

Qt按钮槽函数传递参数方法

Qt中一个典型的点击按钮触发槽函数的写法是:

connect(btn, &QPushButton::clicked, this, &class::func);

当你希望在点击按钮后再向槽函数中传递参数,这种写法就无法做到了。

其原因是槽函数要和信号的参数完全对应,如果修改了传给槽函数的参数,点击按钮的信号就无法处理。

这里给出一个比较简单的传参方法,在信号槽中使用lambda表达式,如:

connect(btn, &QPushButton::clicked, this, [=](){func(i);});

根据参数的数量对应修改func(i)里面的内容,这里只能传单个参数。

Qt槽函数的几种用法

通过ui控件添加槽函数

这种方法是在Qt的ui文件中,添加一个控件,然后点击右键,选择具体的槽函数,具体操作如下:

1.新建一个Qt项目(略过)

2.点击ui文件

3.添加一个控件(这里添加一个按钮(PushButton))

4.右键按钮控件

5.选择相应的事件(这里选择clicked)

6.在mainwindow.h和mainwindow.cpp中会自动添加两段代码,如下:

然后就可以在函数中添加相关代码来实现。

通过connect连接

**1、首先介绍第一种方式,通过SIGNAL和SLOT来实现。**格式如下:

connect(sender, SIGNAL(), receiver, SLOT());
  • sender是发送对象
  • SINGAL是信号
  • receiver是接收对象
  • SLOT是槽函数

例如:

connect(ui->pushButton, SIGNAL(clikced()), this, SLOT(close)));

功能是按钮按下,执行close()函数. 

2、同样使用connect,但是不使用SIGNAL和SLOT来实现。例如:

connect(saveAction, &QAction::triggered, this, &MainWindow::save);

事件发送者可以是ui中添加的控件对象,也可以是纯代码新建的对象。这里的信号是&QAction::triggered,槽函数是&MainWindow::save。意思是saveAction这个控件触发的时候,执行save这个函数,这里使用的指针来调用函数。

在这种方式下还有一种方式,使用lambda表达式。例如:

connect(cancelAction, &QAction::triggered, this, [=](){
       ui->textEdit->undo();
    });

这里执行的功能是触发控件执行撤销操作。通过lambda来声明槽函数。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Qt中简单的按钮槽函数传递参数方法

本文链接: https://www.lsjlt.com/news/171223.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Qt中简单的按钮槽函数传递参数方法
    目录Qt按钮槽函数传递参数方法Qt槽函数的几种用法通过ui控件添加槽函数通过connect连接Qt按钮槽函数传递参数方法 Qt中一个典型的点击按钮触发槽函数的写法是: connect...
    99+
    2022-11-13
    Qt按钮槽函数 按钮槽传递参数 Qt按钮槽传递参数
  • php函数按值传递参数的实例方法
    本篇内容主要讲解“php函数按值传递参数的实例方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php函数按值传递参数的实例方法”吧!向函数传递参数的方式有四种,分别是值传递、引用传递、默认参数...
    99+
    2023-06-20
  • php函数参数的传递方法
    这篇文章给大家分享的是有关php函数参数的传递方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在调用函数时,需要向函数传递参数,被传入函数的参数称为实参,而函数定义的参数称为形参。而向函数传递参数的方式有四种,...
    99+
    2023-06-14
  • qt多线程传递参数的方法有哪些
    在Qt中,有多种方法可以在多线程之间传递参数。以下是其中一些常用的方法:1. 构造函数传递参数:在创建新的线程对象时,通过构造函数将...
    99+
    2023-09-13
    qt
  • qt多线程传递参数的方法是什么
    在Qt中,可以使用信号和槽机制来在多线程之间传递参数。下面是一种常见的方法:1. 定义一个包含参数的信号和槽函数:```cppcla...
    99+
    2023-09-27
    qt
  • Python中函数参数传递方法有哪些
    这篇文章主要介绍“Python中函数参数传递方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中函数参数传递方法有哪些”文章能帮助大家解决问题。定义和传递参数parameters ...
    99+
    2023-07-06
  • python函数参数传递的方法有哪些
    在Python中,函数参数传递的方法有以下几种:1. 位置参数传递:根据参数的位置顺序进行传递,参数的值与参数的位置一一对应。例如:...
    99+
    2023-10-19
    python
  • Shell脚本函数传递参数的实现方法
    如何传递参数到Shell脚本函数 通常,在其他脚本语言中,您可以将参数和参数作为function_name(parameter1, parameter2,…)传递给函数,这在shell脚本函数中不支持。在s...
    99+
    2022-07-29
    Shell函数传递参数 Shell传递参数
  • php函数引用传递参数的实例方法
    本篇内容介绍了“php函数引用传递参数的实例方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先来看一个小例子,便于我们理解引用传递。&n...
    99+
    2023-06-20
  • 详解Python中的函数参数传递方法*args与**kwargs
    目录定义和传递参数函数参数总结定义和传递参数 parameters 和arguments 之间的区别是什么 许多人交替使用这些术语,但它们是有区别的: Parameters 是函数定...
    99+
    2023-03-09
    Python函数传递方法*args **kwargs Python *args **kwargs Python函数传递方法
  • python中函数传递参数的方式有哪些
    本篇文章为大家展示了python中函数传递参数的方式有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不...
    99+
    2023-06-14
  • Python中函数参数传递方法*args, **kwargs,还有其他
    本文将讨论Python的函数参数。我们将了解args和**kwargs,/和的都是什么,虽然这个问题是一个基本的python问题,但是在我们写代码时会经常遇到,比如timm中就大量使用了这样的参数传递方式。定义和传递参数parameters...
    99+
    2023-05-14
    Python 传递参数
  • Python中的函数参数传递方法*args与**kwargs怎么使用
    本文小编为大家详细介绍“Python中的函数参数传递方法*args与**kwargs怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python中的函数参数传递方法*args与**kwargs怎么使用”文章能帮助大家解决疑惑,下面跟...
    99+
    2023-07-05
  • SpringMVC中参数的传递方法有哪些
    这篇文章主要介绍“SpringMVC中参数的传递方法有哪些”,在日常操作中,相信很多人在SpringMVC中参数的传递方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2022-10-19
  • Python函数中*args和**kwargs来传递变长参数的用法
    单星号形式(*args)用来传递非命名键可变参数列表。双星号形式(**kwargs)用来传递键值可变参数列表。 下面的例子,传递了一个固定位置参数和两个变长参数。 def test_var_args(f...
    99+
    2022-06-04
    函数 变长 参数
  • shell中脚本参数传递的方法有哪些
    这篇文章主要介绍了shell中脚本参数传递的方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。方式一:$0,$1,$2..采用$0,$1,$2..等方式获取脚本命令行传...
    99+
    2023-06-09
  • JS AJAX前台给后台类的函数传递参数的方法教程
    本篇内容主要讲解“JS AJAX前台给后台类的函数传递参数的方法教程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JS AJAX前台给后台类的函数传递参数的方法...
    99+
    2022-10-19
  • vue中的get方法\post方法如何实现传递数组参数
    目录get方法\post方法如何传递数组参数第一部分:vue中get方法如何传递数组参数 下面列出我的接口格式及解决方法的源码vue get与post传参方式1.post:...
    99+
    2022-11-13
  • Oracle中PLSQL函数传递游标的方法有哪些
    在Oracle中,可以使用以下几种方法传递游标给PL/SQL函数: 使用REF CURSOR参数:在PL/SQL函数的参数列表中...
    99+
    2023-10-22
    Oracle PLSQL
  • Ajax传递中文参数到后台乱码的解决方法
    这篇文章主要讲解了“Ajax传递中文参数到后台乱码的解决方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Ajax传递中文参数到后台乱码的解决方法”吧! ...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作