擅长:python、mysql、java
<p>将函数连接到具有以下行的插槽:</p>
<pre><code>self.tire.sendEmptyTireSignal.connect(self.printProblem)
</code></pre>
<p>相反,它应该是</p>
<pre><code>self.tire.empty_tire.connect(self.printProblem)
</code></pre>
<p>因为<code>empty_tire</code>是您要将插槽连接到的信号。你知道吗</p>
<p><strong>编辑:</strong></p>
<p>在新代码中,垃圾收集器正在清理CarControl对象。这会导致您的信号断开,因为QObject已不存在。您可以通过放入列表来解决此问题,例如:</p>
<pre><code>class MainWindow(QDialog):
cars = []
def __init__(self, parent=None):
...
def createCar(self):
car1 = CarControl(self)
# append it to the list so the object is still referenced
self.cars.append(car1)
tireWind = car1.getTireWind()
self.mdiArea.addSubWindow(tireWind)
tireWind.show()
</code></pre>