c++ - 单击按钮 QT 时将参数传递给函数
问题描述
刚开始使用 Qt(以及 C++),还没有真正习惯 SIGNAL/SLOT 系统。
我已将代码简化为:
int main()
{
int number = 1;
int * numptr;
numptr = number;
connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(start(numptr);
}
我有一个名为“pushButton”的按钮,当按下它时,我希望它启动一个“启动”函数,该函数将整数指针作为参数。
int start(int * number)
{
// Do something with the number
}
但这似乎不起作用。单击按钮时,如何调用函数启动并将数字指针作为参数传递?
解决方案
最简单的方法是连接到lambda函数并捕获 numptr:
connect(ui.pushButton, &QPushButton::clicked, [numptr](){
// Do something with the number
});
推荐阅读
- java - 将字符串转换为 ArrayList
带流 - laravel - 不时在日志中拒绝权限
- sql-server - 通过 SQL Server 代理作业使用 WinSCP 执行 REMOTE powershell 脚本时出现问题
- c# - 如何在包含外部身份验证服务的 asp.net 中添加自定义声明?
- git - 如何在多个 git 存储库和项目中执行 shell 脚本?
- jquery - 由于 AJAX 请求,Laravel 集合无效排序
- reactjs - React-Select 如何保持菜单打开/关闭的默认行为以及在按钮单击时添加到打开菜单?
- entity-framework-6 - 如何测试实体框架执行策略?
- mysql - Mysql 查询无法按预期工作(使用左连接)
- c# - reCaptch.MVC - 适用于除 Firefox 之外的所有其他浏览器。CSP 标头