Grundlagen zu PySide- (oder PyQt-) Signalen und Slots
Stellen Sie sich ein einfaches Beispiel wie dieses vor, das zwei Schieberegler mithilfe von Signalen und Slots verbindet:
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_())
Wie würden Sie dies ändern, damit sich der zweite Schieberegler in die entgegengesetzte Richtung bewegt wie der erste? Schieberegler eins würde mit diesen Werten initialisiert:
sone.setRange(0,99)
sone.setValue(0)
Und Schieberegler zwei würde mit diesen Werten initialisiert:
stwo.setRange(0,99)
stwo.setValue(99)
Und dann wäre der Wert von stwo99 - sone.sliderPosition
.
Wie würden Sie das Signal und den Steckplatz implementieren, damit dies funktioniert? Ich würde ein funktionierendes Beispiel begrüßen, das auf dem einfachen obigen Beispiel aufbaut.