Основы сигналов и слотов PySide (или PyQt)

Рассмотрим простой пример, как этот, который связывает два ползунка, используя сигналы и слоты

from PySide.QtCore import *
from PySide.QtGui import *
import sys

class MyMainWindow(QWidget):
 def __init__(self):
  QWidget.__init__(self, None)

  vbox = QVBoxLayout()

  sone = QSlider(Qt.Horizontal)
  vbox.addWidget(sone)

  stwo = QSlider(Qt.Horizontal)
  vbox.addWidget(stwo)

  sone.valueChanged.connect(stwo.setValue)

if __name__ == '__main__':
 app = QApplication(sys.argv)
 w = MyMainWindow()
 w.show()
 sys.exit(app.exec_())

Как бы вы изменили это, чтобы второй ползунок двигался в направлении, противоположном первому? Первый слайдер будет инициализирован с этими значениями:

  sone.setRange(0,99)
  sone.setValue(0)

И слайдер два будет инициализирован с этими значениями:

  stwo.setRange(0,99)
  stwo.setValue(99)

И тогда значение stwo будет99 - sone.sliderPosition.

Как бы вы реализовали сигнал и слот, чтобы заставить это работать? Я был бы признателен за рабочий пример, основанный на простом примере выше.

Ответы на вопрос(3)

Ваш ответ на вопрос