擅长:python、mysql、java
<p>我在pyqt中迭代多个小部件的首选方法是将它们存储为列表中的对象。在</p>
<pre><code>myButtons = [self.ui.phase_scan_button, self.ui.etalon_scan_button,
self.ui.mirror_scan_button, self.ui.gain_scan_button]
for button in myButtons:
button.clicked.connect(lambda _, b=button: self.scan_callback(scan=b))
</code></pre>
<p>如果需要分别使用字符串“phase”、“etalon”、“mirror”和“gain”,可以将它们存储在另一个列表中,也可以创建一个类似于</p>
^{pr2}$
<p>请注意,我如何使用lambda表达式和实体变量,然后将这些变量传递到函数<code>self.scan_callback</code>。这样,<code>button</code>的值就被永久地存储起来了。在</p>