PyQt4アプリでは、ユーザーの操作に応じてスライダーを1つまたは別のスロットに接続します。ボタンのクリックに応じてスロットの割り当てを変更します。いくつかの異なるスロットは異なることを行い、いくつかの「if」ステートメントで1つのスロットにマージするにはあまりにも異なります。
このアプリは頻繁にクラッシュします。このようにオンザフライでスロットを1つの信号に再割り当てするのはコーシャではないかと思います。これにより、PyQt4の内部にあるポインタがぶら下がったり、メモリが破損したり、その他の問題が発生したりする可能性がありますか?私がやっていることで問題がなければ、他の場所でバグを探します。
これが私のアプリの非常にスケッチバージョンです:
def MyThing(QWidget):
(in some approprate place)
self.s = QSlider()
def MethodOne(self): # this is a slot handling a button click
self.s.valueChanged.connect(self.someslot1)
def MethodTwo(self): # likewise
self.s.valueChanged.connect(self.someslot2)
def someslot1(self, svalue): # slider movement handler
(compute, show info based on slider position)
def someslot2(self, svalue): # similar to someslot1
....