Pyqt5如何使一个框锁定两个Qsliders一起[封闭]

0

的问题

我已经做了一个GUI使用建设计运行的蟒蛇在 这里

我怎么添加码到我的项目添加一个框锁定(有他们的价值观改变在一起,无论他们可能。 0-100范围内的)无论是我Qsliders在一起。 见下面的图片.

请随时问,如果更多信息是必要的。

New design

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

最好的答案

1

你会连接每一个滑的 valueChanged 信号到其他的 setValue 老虎当框检查,并断开时听之任之。

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

谢谢你一个问题我怎么做这一比例锁像在的混音器? 在锁定他们住在相同的价值观之前锁。 作为在滑一组50人。 滑B组10。 所以直到滑的一个值得到100和10然后他们会以10和留锁,直到诉,否则?
Love-to-Make

@爱-对-让我不理解您的例子。 如果你想让他们移动按比例随后将由比他们的价值观,在这种情况下第5/1号的1/5。
alec

我不知道该怎么来描述它。 你如工作确定。如果slider_A设在75和slide_B设定在80和单击"锁定"按钮,我希望它留在那比,直到它们再次通过我移动的任何滑块。 例如击和拖slide_A到100。 slide_B将行动,并得到100第一,呆在那里直到slide_A获取有和副verca
Love-to-Make

@爱做出确定,只要明确的是,如果slider_A移到60应slider_B移至64(A*80/75)或65(A+5)?
alec

没有滑块可以非常容易地坐在一个完全不同的量喜欢滑的一组10和滑B设定在50。
Love-to-Make

或者滑at100和滑B在25个锁被点击他们喜欢pavucontrol不会左右的平衡的音频频道
Love-to-Make

其他语言

此页面有其他语言版本

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