如何通过 Qt PushButton 的点击信号传递值? [复制]

2024-01-09

我有 n 个按钮最初都标记为“0”。 当程序运行时,这些标签或值将更改为不同的整数,例如在某些时候我可能有:'7','0','2',...

我有一个以 int 作为参数的函数(或槽):

void do_stuff(int i);

我想在按下“x”时调用 do_stuff(x) 。也就是说:当按下任何按钮时,使用该按钮的值调用 do_stuff 。 我怎样才能做到这一点?到目前为止我有类似的东西:

std::vector values; // keeps track of the button values
for (int i = 0; i < n; i++){
    values.push_back(0);
    QPushButton* button = new QPushButton("0");
    layout->addWidget(button);
    // next line is nonsense but gives an idea of what I want to do:
    connect(button, SIGNAL(clicked()), SLOT(do_stuff(values[i])));
}

我会将其简化为通常用于解决此类任务的方法:

public slots:
   void do_stuff(); // must be slot

连接应该像

connect(button, SIGNAL(clicked()), SLOT(do_stuff()));

然后 MyClass::do_stuff 会做一些事情:

 void MyClass::do_stuff()
 {
     QPushButton* pButton = qobject_cast<QPushButton*>(sender());
     if (pButton) // this is the type we expect
     {
         QString buttonText = pButton->text();
         // recognize buttonText here
     }
 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 Qt PushButton 的点击信号传递值? [复制] 的相关文章

  • 为什么在从同一解决方案引用另一个项目时会出现 FileNotFound 异常?

    我正在学习如何使用 NUnit 我的解决方案中有我的主项目 并在同一解决方案中创建了一个单独的项目 该项目将保存我的单元测试 并具有自己的命名空间 从该项目中 我添加对主项目的引用并添加 using MainProjectNamespace
  • C++,多语言/本地化支持

    向 C 程序添加多语言支持的最佳方法是什么 如果可能 应该从包含键值对 WelcomeMessage Hello s 之类的纯文本文件中读取语言 我想到了添加一个 localizedString key 函数来返回加载的语言文件的字符串 有
  • C++ 标准是否允许未初始化的 bool 导致程序崩溃?

    我知道一个 未定义的行为 C 几乎可以让编译器做任何它想做的事情 然而 我遇到了一次令我惊讶的崩溃 因为我认为代码足够安全 在这种情况下 真正的问题仅发生在使用特定编译器的特定平台上 并且仅在启用优化的情况下发生 我尝试了几种方法来重现问题
  • 找不到 HttpContextBase 命名空间

    public string GetCartId HttpContextBase context if context Session CartSessionKey null if string IsNullOrWhiteSpace cont
  • 用C#发送USSD?

    我想编写一个在 Windows Mobile 6 上运行的简单 C 应用程序 它可以发送 USSD 消息 有没有任何图书馆可以帮助我做到这一点 或者是否有任何示例解释如何使用线路发送USSD http msdn microsoft com
  • 更新 OSX 命令行工具 6.3 后缺少 C++ 标头 <__debug>

    从 App Store 更新到 Command Line Tools 6 3 后 程序包括
  • 析构函数、dispose 和 Finalize 方法之间的区别

    我正在研究垃圾收集器在 C 中的工作原理 我对使用感到困惑Destructor Dispose and Finalize方法 根据我的研究和理解 在我的类中拥有析构函数方法将告诉垃圾收集器以析构函数方法中提到的方式执行垃圾收集 该方法不能在
  • 如何使用 C# 调用 REST API?

    这是我到目前为止的代码 public class Class1 private const string URL https sub domain com objects json api key 123 private const str
  • 如何使用 DesignData 帮助开发 Metro 应用程序?

    我一直在 Windows Phone 应用程序中愉快地使用 DesignData 我希望使用它来帮助在 VS2012 Blend for VS 中的 Metro 风格应用程序中可视化设计 我已经尝试过希望显而易见的方法
  • 有没有办法关闭 Hangfire 使用 Serilog 进行的日志记录?

    有没有办法关闭 Hangfire 使用 Serilog 进行的日志记录 我们正在使用我们自己的抽象 我不希望在使用 Serilog 时来自 Hangfire 记录器的所有额外噪音 INIT call under web project na
  • 具有多重继承的不明确基数

    我正在尝试在一个大库中编写一些类的子类 我收到 基础不明确 错误 这是该问题的一个可编译示例 include
  • 从 TFS 下载工作项附件(文件已损坏)

    我正在尝试创建 C 代码 因此我可以自动从 Team Foundation Server 下载 BUGS 预定义查询的所有附件 该代码似乎工作得很好 但所有下载的文件都因意外原因而损坏 我无法查看它们 有人可以看一下代码并分享意见吗 非常感
  • C# 的 xml 序列化中是否有一个属性可以跳过空数组?

    C 的 xml 序列化中是否有一个属性可以跳过空数组 这将提高 xml 输出的可读性 好吧 你也许可以添加一个ShouldSerializeFoo method using System using System ComponentMode
  • 使用 System.Json 迭代 JSON

    我正在探索 NET 4 5 的功能System Json库 但没有太多文档 而且由于流行的 JSON NET 库 搜索起来相当棘手 我基本上想知道 我如何循环一些 JSON 例如 People Simon Age 25 Steve Age
  • 在运行时将项目添加到 ToolStrip

    您好 我有一个带有 收藏夹 菜单的 ToolStripMenu 我想在运行时在 WinForms 应用程序中添加子项目 我有一个 datagridview 右键单击它会显示一个包含 添加到收藏夹 选项的上下文菜单 当该事件被触发时 我想使用
  • 具有两个表的谓词构建器

    A Party可以有一个或多个Contact对象 我想选择全部Parties谁的街道名称包含特定关键字 如果我只想搜索Party我可以使用下面的代码 但我如何扩展它来搜索Contact public IQueryable
  • 致命:所有操作都需要OperationId。请为路径的“获取”操作添加它

    我正在使用 AutoRest 从 swagger json 生成 api 的客户端 输出是 AutoRest code generation utility cli version 3 0 6187 node v10 16 3 max me
  • 返回右值 - 这段代码有什么问题? [复制]

    这个问题在这里已经有答案了 我遇到了以下代码片段 std string test std string m Hello return std move m int main std string m test 我知道上面的代码是不正确且不安
  • 使用 Powershell 或 C# 获取 Azure“文件和文件夹”作业状态

    我一直在尝试找到一种方法来获取在 AzureRM 中运行的几个客户上运行的 文件和文件夹 备份作业的状态 可以在 AzureRm 门户中手动找到状态 恢复服务保管库 gt 作业 gt 备份作业 使用powershell不显示任何作业信息 G
  • “while(true) { Thread.Sleep }”的原因是什么?

    我有时会遇到以下形式的代码 while true do something Thread Sleep 1000 我想知道这是否被认为是好的做法还是坏的做法以及是否有任何替代方案 通常我在服务的主函数中 找到 这样的代码 我最近在 Windo

随机推荐

  • 使用 Chunks 和 MultipartFileupload 进行文件上传

    使用块上传和 MultipartFile 上传是否相同 有什么区别 我尝试过使用 Multipartfile 上传 我的要求是上传一个50MB的appx文件到服务器而不让用户等待很长时间 大约需要 2 分钟 Chunks 和 Multipa
  • 使用 Mechanize 获取 JavaScript 变量

    我想从中获取一个 JavaScript 变量https admin booking com hotel hoteladmin https admin booking com hotel hoteladmin in head gt scrip
  • IntelliJ 相当于 Eclipse TAB

    我正在尝试从 Eclipse 迁移到 IDEA 在 Eclipse 中 当我在输入函数参数时按 TAB 键以及在其他上下文情况下 它会将光标转发到我可以输入的下一个位置 下一个参数 分号的行尾等 我经常使用它 有没有办法在IDEA中获得类似
  • 如何显示部分标题并在悬停时向上滑动整个标题

    我有以下小提琴 http jsfiddle net nyube8aw http jsfiddle net nyube8aw HTML div class box div class caption h3 This is Image One
  • Bootstrap 3 带有两行标题的选项卡

    我正在使用 bootstrap 3 创建选项卡式视图 一些选项卡的标题很长 我使用换行符将它们显示为两行 如下所示 ul class nav nav tabs li class active a href Home a li li a hr
  • 升级到 gradle 5.0 后,Android 数据绑定“尽管已注册,但缺少导入表达式”

    将 Android studio 升级到 3 4 后 将 Android Gradle 插件升级到 3 4 将 gradle 升级到 5 1 1 我收到如下数据绑定错误 我已确保清理项目并重建 我已清除缓存并重新启动 AS 升级之前没有出现
  • 库斯托 |添加列以显示总数的百分比

    我见过其他几个与此类似的问题 但每个问题都略有不同 并且没有一个提供我能够适应我的情况的答案 我有一个这样的表 let T datatable Val1 string Val2 string Val3 bool false false Ye
  • 是否可以在 DOM 加载之前阻止提交按钮提交?

    我正在使用 jquery 验证插件进行表单验证 它工作得很好 但是如果 DOM 未完全加载并且您单击提交按钮 则文档将忽略验证并转到表单 action 属性中指定的页面 是否可以在 DOM 加载之前阻止提交按钮提交 如果您像这样生成提交按钮
  • javascript - 如何四舍五入到最接近的整数[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 JavaScript 中四舍五入为整数 https stackoverflow com questions 6968042 how can i round of to whole number
  • IE8 中的 FB 共享按钮 Javascript 错误

    我仅在 IE8 中收到 FB 共享按钮的 JavaScript 错误 这是在旧的共享按钮被禁用并随后重新启用后开始的 请参阅Facebook分享按钮 它正式死亡了吗 https stackoverflow com questions 115
  • 如何撤消 svn 更新?

    我修改了工作目录中的文件并进行了 svn 更新 更新已执行 没有冲突 我希望能够将工作目录内容恢复到 svn 更新之前的状态 原因是因为我维护一个与共享 svn 存储库并行的本地 git 存储库 我忘记在进行 svn 更新之前 git co
  • 提取2个字符串之间的子字符串

    这是我的代码段 set CMS SQL cms91 to 913 json cms913 to 9132 json cms9132 to 9133 json cms9133 to 10100 json set CMS FROM VERSIO
  • FirstResponder 缺少重做:

    为什么我的 InterfaceBuilder 文件中的 FirstResponder 丢失了redo 连接 在Received Actions list undo 存在 但是redo 没有 我该如何解决它 这是一个错误 解决方法是将其放入某
  • VBA:VLookUp 多个结果

    我需要一些代码方面的帮助 我正在尝试执行 VLookup 并将数据显示在 O P 和 Q 列中 我想做的是循环遍历sheet Global A列 从第3行开始 直到最后使用的行 它需要匹配 A 列中从第 2 行开始的工作表 详细信息 中的数
  • 基于 HTML 5 的移动开发的最佳框架是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 Automapper 项目

    我目前在后端使用自动映射器将对象映射到模型 我最近决定使用以下代码来处理所有时区转换 cfg CreateMap
  • 在 ASP.Net 中创建 JSON 对象

    我正在尝试在 Net 5 应用程序中创建 JSON 对象 我看到的默认选项是Microsoft AspNet Mvc Formatters Json Microsoft Extensions Configuration Json and N
  • Android:如何从 BroadcastReceiver 恢复应用程序/活动?

    如果我的程序如下 启动活动 A gt 活动 B 按 主页 按钮 再次单击该应用程序 Result 活动 B 出现 它resumes 启动活动 A gt 活动 B 按 返回 按钮 再次单击该应用程序 Result 活动 A 出现 它resta
  • 防止 jQuery 中表单的重复提交

    我有一个表单 服务器需要一些时间才能处理 我需要确保用户等待并且不会尝试通过再次单击按钮来重新提交表单 我尝试使用以下 jQuery 代码 当我在 Firefox 中尝试此操作时 所有内容都被禁用 但表单未提交其应包含的任何 P
  • 如何通过 Qt PushButton 的点击信号传递值? [复制]

    这个问题在这里已经有答案了 我有 n 个按钮最初都标记为 0 当程序运行时 这些标签或值将更改为不同的整数 例如在某些时候我可能有 7 0 2 我有一个以 int 作为参数的函数 或槽 void do stuff int i 我想在按下 x