Ty by se připojit každý jezdec je valueChanged
signál pro ostatní je setValue
slot pokud je políčko zaškrtnuté, a odpojte nezaškrtnuto.
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class Template(QWidget):
def __init__(self):
super().__init__()
vbox = QVBoxLayout(self)
vbox.addWidget(QSlider(Qt.Horizontal))
vbox.addWidget(QCheckBox('Lock', toggled=self.toggleLocked))
vbox.addWidget(QSlider(Qt.Horizontal))
def toggleLocked(self, state):
s1, s2 = self.findChildren(QSlider)
if state:
s2.setValue(s1.value())
s1.valueChanged[int].connect(s2.setValue)
s2.valueChanged[int].connect(s1.setValue)
else:
s1.valueChanged[int].disconnect()
s2.valueChanged[int].disconnect()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Template()
window.show()
sys.exit(app.exec_())