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

为什么PyQt connect()语法如此冗长?

宋康安
2023-03-14
问题内容

我只是在学习PyQt,并研究信号和插槽机制。我对冗长的语法有些困惑。我们为什么有:

self.connect(dial, SIGNAL("valueChanged(int)"), spinbox.setValue)

我更喜欢写以下内容:

self.connect(dial.valueChanged, spinbox.setValue)

谁能告诉我为什么connect()语法需要如此明确/冗长?


问题答案:

您可以使用PyQt的新型信号,这些信号不那么冗长:

self.connect(dial, SIGNAL("valueChanged(int)"), spinbox.setValue)

成为:

dial.valueChanged.connect(spinbox.setValue)


 类似资料:
  • 本文向大家介绍谈谈为什么你的 JavaScript 代码如此冗长,包括了谈谈为什么你的 JavaScript 代码如此冗长的使用技巧和注意事项,需要的朋友参考一下 又一年过去了,JavaScript发生了许多变化。但是,即使是2019年了,还是需要给一些帮助你编写干净、整洁、有效、且具有扩展性的代码建议。 下面是让你成为更好的开发者的9条建议。 1. async / await 如果你还在为回调陷

  • 问题内容: 好的,我有一个非常简单的mysql数据库,但是当我尝试通过mysql-admin运行此查询时,出现奇怪的错误 INSERT INTO自定义报告(研究,类型,模式,选择,描述)VALUES(‘1’,‘2’,‘3’,‘4’,‘5’); 错误: 1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以便在“选择,描述” VALUES(“ 1”,“ 2”,“

  • 问题内容: 为什么这么危险? 为什么建议改为使用? 我知道已弃用。还有什么使它不安全的? 有什么地方可以使用方法吗?如果是这样,请举一个例子。 问题答案: 为什么Thread.stop()如此危险? 此处详细描述了这些问题:http : //download.oracle.com/javase/6/docs/technotes/guides/concurrency/threadPrimitiveD

  • 问题内容: 我想知道当您尝试捕获StackOverflowError并提出以下方法时会发生什么: 现在我的问题是: 为什么此方法打印“ 4”? 我以为是因为在调用堆栈上需要3个段,但是我不知道3的来源。当您查看的源代码(和字节码)时,通常导致的方法调用要多于3(因此,调用堆栈上的3个段是不够的)。如果是由于优化而应用了Hotspot VM(方法内联),我想知道其他VM上的结果是否会有所不同。 编辑

  • 问题内容: 我在ColdFusion代码中碰巧遇到了这些值,但Google计算器似乎有相同的“错误”,但差不为零。 416582.2850-411476.8100-5105.475 = -2.36468622461E-011 http://www.google.com/search?hl=zh_CN&rlz=1C1GGLS_enUS340US340&q=416582.2850+-+411476.8

  • 问题内容: 以下这部分代码是什么意思?我什至不知道这个语法叫什么。 这是原始代码(可从此处找到:http : //developer.android.com/guide/components/processes-and- threads.html ): 问题答案: 告诉AsyncTask使用3种不同的类型进行描述,当您使用AsyncTask时,将String作为第一个参数,将Void作为第二个参数