PyQt 和 QSignalMapper/lambdas - 多个信号,单槽

2024-05-25

我在 PyQt 的菜单上有一个操作列表,每个操作对应我想要显示的每个不同的提要。所以我有一个 Y 将活动源设置为 Y,Z 将其设置为 Z,等等(对于网络漫画阅读程序)。

我的菜单上都有,并且觉得自动化方法可能更好;而不是每次都打字。类似于将其添加到字典中的函数,然后将其与每个插槽的信号连接起来。

但是,我希望该槽函数(假设它称为 Foo)采用一个参数来决定单击的内容。因此,如果单击 X,则 X、Y 会传递 Y,依此类推。

环顾四周,有一个问题说要使用 lambda,但不知怎的,它看起来……不太正确。

另一种方法是使用 QSignalMapper。我尝试寻找这个,但找不到如何使用它的示例。

有人可以帮忙吗?

Thanks!


您可以使用functools.partial (link 到文档 http://docs.python.org/library/functools.html#functools.partial):

import functools
...

# note that these are the 'new style' slot connections (not necessarily needed)
self.menu_entry_x.triggered.connect(functools.partial(myfunc, x))
self.menu_entry_y.triggered.connect(functools.partial(myfunc, y))

上面的例子非常基本,但如果您有更多问题,我可以详细说明。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PyQt 和 QSignalMapper/lambdas - 多个信号,单槽 的相关文章

随机推荐

  • 我如何加入 Eloquent:关系?

    我的查询是这样的
  • Paypal一键购买

    是否可以使用Paypal API实现一键购买 或 Paypal 自适应 API 而不是每次都要求用户登录 提前致谢 Johnny 要获得 Paypal 的 一键结账 体验 解决方案是 预先批准的付款流程 下图显示了一个过程中的基本控制流程前
  • Jquery 对话框部分视图服务器端验证“保存”按钮单击

    我有一个显示数据的表格 表格的每一行都有编辑按钮 单击编辑按钮时 将出现一个 jquery 对话框 其中包含用于编辑用户信息的表单以及保存和取消按钮 表单只不过是部分视图 按钮是部分视图的一部分
  • 将数据从 Kafka 存储传输到 Kafka 主题

    我想在卡夫卡做这样的事情 继续将数据存储在 KStream Ktable Kafka store 中 当我的应用程序收到特定事件 数据时 仅将上述存储中的特定数据集发送到主题 我们可以在卡夫卡中做到这一点吗 我认为单独使用 Kafka 消费
  • Java 8 Nashorn:控制台几乎无法使用

    我在 OSX 10 9 2 上使用 Java 8 build 1 8 0 b132 我正在使用 Java 8 中的新 JavaScript 运行时 Nashorn 我在用Library Java JavaVirtualMachines jd
  • 如何从 mysqldump 中删除表

    如何删除 mysqldump 中包含大量表的一个大表的输出 我有一个 6 GB 大的数据库转储 但其中 90 只是一个日志记录表 cache entries 我的备份中不再需要它 如何轻松删除转储中描述大型日志记录表的部分 我找到了这个 h
  • 当键位于父类中时,如何将一对多集合映射到连接的子类

    我想将一对多集合映射到子类 但集合的键是父类的属性 目前我正在映射 AbstractFoo Foo 和 Bar 类 如下所示
  • 检测 IMG 元素何时在 Angular 2+ 中加载

    我在用Angular 2我需要检测图像是否已加载到图像标签中 有这样的活动吗 像这样的东西 img img
  • 将 .NET 类库(主要定义 CRUD 操作)公开为服务

    公开现有内容的最佳 有效和最快的方法是什么 类 图书馆 主要定义 CRUD 操作 作为service 周转基金服务 or WCF数据服务 以便它可以与银光 or Ajax 在那儿tools 代码生成器 RAD 工具 哪些可以支持这个 预先感
  • 如何使用授权 API 设置部分身份验证

    好的 我正在通过 Authorize net API 设置部分付款 以便能够使用多张卡支付单笔余额 费用 我假设他们的部分身份验证功能涵盖了我的用例 但在测试中 我可以在此处使用 API 实时控制台向您展示一个问题 https develo
  • CSS:100% 宽度和背景?

    在我的页面中 有 2 3 个部分的宽度和背景为 100 当我全屏打开它时 一切正常 但当屏幕小于 960px 本节内容的宽度 时 背景图像不是整个页面 右侧的瞬间隐藏在没有背景的地方 它是白色的 你可以在这里明白我的意思 http mico
  • 如何将SSRS共享数据集和数据源直接导入BIDS 2008?

    Using SSRS 报表服务器 10 50 1600 1 BIDS Visual Studio 9 0 30729 4462 来自同一域和网络上的远程客户端 不在 SSRS 服务器上本地 我希望能够将报表服务器上的现有共享数据源和共享数据
  • mongodb/node.js 中单文档并发读写操作的问题

    编辑 6 15我尝试运行相同的代码 在调用之前添加延迟 doSafePush 再次收到 ConcurrencyDBError 时 即执行return when resolve wait delay 35 then function doSa
  • 如何找到 JAR:/home/hadoop/contrib/streaming/hadoop-streaming.jar

    我正在练习有关 Amazon EMR 的复数视角视频教程 我被困住了 因为我收到此错误而无法继续 Not a valid JAR home hadoop contrib streaming hadoop streaming jar 请注意
  • git 查找胖提交

    是否可以获取有关每次提交中的更改浪费了多少空间的信息 以便我可以找到添加了大文件或大量文件的提交 这一切都是为了尝试减少 git repo 的大小 变基并可能过滤提交 你可以这样做 git ls tree r t l full name H
  • JavaScript IDE/编译器

    现在 我希望你们中的一些人能够理解我的要求 我是编程新手 我在 Codecademy com 上了解了 JavaScript 我使用 labs codecademy com 来编写 JavaScript 但它有限制 对于编程新手来说 我可以
  • MongoDB - 在父文档中填充 GridFS 文件元数据

    我使用 NodeJS 与 Express MongoDB Mongoose 和 GridFS 来上传和检索文件 我想通过 ID 引用其他文档中的文件 并在查询其他文档时填充文件元数据 例如 如果我有一个包含这样的文档的 用户 集合 id O
  • 如何在Azure媒体服务V3中实现字幕?

    如何使用 net SDK在azure media service 3中完成字幕 我正在使用 Azure 媒体服务 v3 教程 https github com Azure Samples media services v3 dotnet t
  • 条件格式 DT 中的样式

    我想根据 B 列中的值对 A 列中的行进行着色 下面的代码基于小插图中的示例Link https rstudio github io DT 010 style html 但仅显示两列的条件 mobile number by mobile f
  • PyQt 和 QSignalMapper/lambdas - 多个信号,单槽

    我在 PyQt 的菜单上有一个操作列表 每个操作对应我想要显示的每个不同的提要 所以我有一个 Y 将活动源设置为 Y Z 将其设置为 Z 等等 对于网络漫画阅读程序 我的菜单上都有 并且觉得自动化方法可能更好 而不是每次都打字 类似于将其添