当前位置: 首页 > 面试题库 >

如何确定谁发出了信号?

南宫才艺
2023-03-14
问题内容

我在PyQt上开发了一个应用程序,我喜欢信号槽模型,但是有什么方法可以确定信号的发射器吗?我希望有一种方法,因为它可以编写更多通用代码,而无需为每个相似信号定义很多插槽。


问题答案:

我认为我提早提出一个问题,因为我自己在Google上找到了答案。当发射器激活插槽时,将存储发射器的指针,并可以通过

QObject::sender()

结果可以通过以下方式在PyQt中进行访问:

@QtCore.pyqtSlot()
def someSlot(self):
    self.sender()


 类似资料:
  • 问题内容: 我需要将构建请求者的用户名传递给实际正在执行工作的脚本。查看特定构建的控制台输出,第一行始终是“由用户foo开始”,因此Jenkins清楚地跟踪了谁触发了该构建。因此,应该有可能将该信息传递给工作。..问题是,如何? 问题答案: 用户名没有放在易于获取的环境变量中,但是您可以使用xml(或json或python)api来获取用户名-在开始构建后,便会填充详细信息:

  • 问题内容: 我最喜欢的Linux工具之一是lsof-真正的瑞士军刀! 今天,我发现自己想知道WinXP系统上的哪些程序打开了特定文件。有与lsof等效的工具吗?此外,有问题的文件是通过网络共享进行的,因此我不确定是否会使问题复杂化。 问题答案: 使用Sysinternals Suite中的Process Explorer,Find Handle或DLL函数将让您搜索打开该文件的过程。

  • 问题内容: Java程序如何找出它是否在调试模式下运行? 在常规的“全速”模式下,应用程序的行为应与“调试模式”下(在连接调试器时,在调试模式下运行)的行为有所不同。该应用程序通过TCP与另一台计算机,另一进程或自身内部进行通信。我的同事希望我们默认使用,以便从套接字读取最多可以阻塞1秒钟。调试时,这当然是不够的,并且应用程序将停止正常运行。因此,一种解决方案是设置较高的值,但仅在调试模式下使用(

  • 问题内容: 我知道,如果我在某个从函数某处调用的函数内,那么此返回地址将压入堆栈。 在上面的代码中,当foo函数处于活动状态时,我将获取堆栈中第一个推送的局部变量的地址。我如何访问在此变量堆栈之前的某个地方返回的返回地址(主要称为foo)?该位置是否固定并且可以相对于第一个局部变量访问?我该如何修改? 编辑:我的环境是带有gcc编译器的x86处理器上的Ubuntu 9.04。 问题答案: 有一个内

  • 本文向大家介绍如何找出触发了哪些JavaScript事件?,包括了如何找出触发了哪些JavaScript事件?的使用技巧和注意事项,需要的朋友参考一下 要查看触发了哪些JavaScript事件,请按照以下步骤操作。我们正在Google Chrome网络浏览器上触发事件: 打开谷歌浏览器,然后按 F12键打开“开发工具”。 现在转到“源”选项卡 转到右侧的事件监听器断点: 单击事件并与目标元素进行交

  • 我正在用PythonTkinter编写一个GUI,其中有一个由大约24个按钮组成的网格,我使用循环(不是单独创建的)创建了该网格。有没有什么方法可以让我得到我按下的按钮的文本。 因为它在循环中,所以即使使用lambda,回调函数也帮不了我。我不想写单独的代码,当按下每个不同的按钮时会发生什么。我只需要知道相应按钮的文本,这样我就可以启动另一个只处理该文本的通用函数。 附言:我可以做同样的任务,但是