首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在PyQt5中动态更新QComboBox?

如何在PyQt5中动态更新QComboBox?
EN

Stack Overflow用户
提问于 2018-01-14 15:55:53
回答 1查看 2.5K关注 0票数 2

例如,第一个组合框的选项是1到10,另一个组合框也是1到10,当我在第一个组合框中选择2时,我需要第二个组合框显示选项3到10,我的意思是第二个组合框的值应该大于first.so,我应该如何在PyQt5中?

EN

回答 1

Stack Overflow用户

发布于 2018-08-02 20:13:28

您必须首先在__init__方法中初始化组合框

代码语言:javascript
运行
复制
def __init__(self):
    #Write your __init__ body here
    self.comboBox1 = QComboBox()
    self.comboBox2 = QComboBox()

然后您可以设置第一个组合框的项目1- 10

代码语言:javascript
运行
复制
for i in range(1,11):
    self.comboBox1.addItem(str(i))

您可以使用currentTextChanged信号来更新comboBox2

代码语言:javascript
运行
复制
self.comboBox1.currentTextChanged.connect(self.updateComboBox2)

currentTextChanged信号将新选择的文本值传递给方法

所以updateComboBox2方法

代码语言:javascript
运行
复制
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))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48247643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档