Pyqt5 ako urobiť políčko zamknúť dve Qsliders spolu [zatvorené]

0

Otázka

Urobil som GUI pomocou pomocou Qt Designer beží v jazyku python tu

Ako môžem pridať kód na môj projekt pridať políčko, ktoré zámky (majú ich hodnoty zmenili spoločne, čo sa im môže byť. 0 - 100 rozsah), aj môj Qsliders spolu. Viď obrázok nižšie.

Prosím, neváhajte a opýtajte sa, či viac info je potrebné.

New design

pyqt5
2021-11-23 21:45:45
1

Najlepšiu odpoveď

1

By ste sa pripojiť každého jazdca valueChanged signál iných setValue slot keď políčko je začiarknuté, a odpojenie ak zrušíte.

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_())
2021-11-25 02:45:39

Vďaka jednu otázku, ako môžem, aby to je úmerná zámok ako v audio mixer? keď sú tlačidlá zablokované, že zostane na rovnakej hodnoty pred zámok. Ako v jazdca sada 50. list B nastavte 10. Takže, Kým jazdec hodnotu dostane na 100 a 10, potom by byť 10 a zostať uzamknuté, kým povedané inak ?
Love-to-Make

@Láska-to-Make nechápem váš príklad. Ak ich chcete presunúť priamo úmerne potom by to byť tým, že pomer ich hodnoty, v tomto prípade 5/1 alebo 1/5.
alec

Som si nie ste istí, ako inak opísať ju. váš príklad funguje ok .ak slider_A je stanovená na 75 a slide_B je stanovená na 80 a ja kliknite na tlačidlo zamknúť to chcem zostať v tom pomere, kým oni line up znova mi pohybujúce sa niektorý z jazdcov. napr. kliknutím a ťahaním slide_A do 100. slide_B bude pohybovať hore a získať až 100 prvý a zostaň tam, kým slide_A dostane tam a vice-verca
Love-to-Make

@Láska-to-Make Ok a len aby bolo jasno, ak slider_A sa presunie do 60 by slider_B prejsť na používanie 64 (A * 80 / 75) alebo do 65 rokov (A + 5)?
alec

Č jazdcov by mohla veľmi ľahko sa posadil na úplne iné sumy ako list sada 10 a posuňte B. 50.
Love-to-Make

Alebo posúvať at100 a posuňte B na 25 jeden zámok je klikli, že zostať ako pavucontrol sa wil ľavej a pravej zostatok na audio kanálov
Love-to-Make

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................