【发布时间】:2018-06-23 04:16:27
【问题描述】:
例如,第一个组合框带有选项 1 到 10 ,另一个组合框也是 1 到 10 ,当我在第一个中选择 2 时,我需要第二个组合框显示选项 3 到 10 ,我的意思是第二个组合框的值应该大于第一个。那么我应该如何在 PyQt5 中?
【问题讨论】:
例如,第一个组合框带有选项 1 到 10 ,另一个组合框也是 1 到 10 ,当我在第一个中选择 2 时,我需要第二个组合框显示选项 3 到 10 ,我的意思是第二个组合框的值应该大于第一个。那么我应该如何在 PyQt5 中?
【问题讨论】:
你必须先在__init__方法中初始化组合框
def __init__(self):
#Write your __init__ body here
self.comboBox1 = QComboBox()
self.comboBox2 = QComboBox()
然后就可以设置第一个combobox 1-10的item了
for i in range(1,11):
self.comboBox1.addItem(str(i))
您可以使用currentTextChanged 信号来更新comboBox2
self.comboBox1.currentTextChanged.connect(self.updateComboBox2)
currentTextChanged 信号将新选择的文本值传递给方法
所以updateComboBox2方法
def updateComboBox2(self, newValue):
''' New Value is the changed value of comboBox1
Do whatever you want to do with it here
for eg. '''
if newValue == 2:
self.comboBox2.clear() #This will remove all previous items
for j in range(3,11):
self.comboBox2.addItem(str(j))
【讨论】:
__init__?
__init__