2011-04-25 73 views
1

我使用pyqt4第一次开发GUI;PyQt QSpinBox更新范围取决于其他spinbox的值

我有一个spinbox,我希望它的值范围取决于另一个spinbox的值。例如,第一个spinbox允许的最大值应该等于第二个spinbox的值。

我想这可以使用的valueChanged()信号来调用这就是说,一个方法是可行的:

def function 
    max = spinbox2.value() 
    spinbox1.setMaximum(max) 

,但没有工作,没有人知道如何做到这一点?

谢谢

回答

2

,你做与function spinbox2的“的valueChanged”信号之间的连接您还没有表现出你的代码。你在建立这种联系吗?此外,您为function提供的代码似乎不完整。

你可以尝试这样的事情:

spinbbox2.valueChanged.connect(handler) 
# Or this which works for Python 3.5 
spinbbox2.valueChanged[int].connect(handler) 

# The function handler called is called whenever 
# value in spinbox2 is changed and parameter to 
# handler is the new value of spinbox2 
def handler(value): 
    spinbox1.setMaximum(value)