2011-04-25 76 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)