如何检测同一pyqt组合框元件的重选

2024-10-08 18:21:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个pyqtgraph组合框,其定义如下。在

def __init__(self):
    # some other stuff....

    mylist=OrderedDict()
    mylist['1k'] = 1
    mylist['10k'] = 10
    mylist['100k'] = 100
    mylist['1M'] = 1000
    self.myselectorA = ComboBox()
    self.myselectorA.setItems(mylist)
    self.myselectorA.currentIndexChanged.connect(self.selchangedA)

def selchangedA(self):
    self.sq.setA(self.myselectorA.value())
    if self.sq.gainlink:
        self.sq.setB(100./self.myselectorA.value())
        self.viewupdate = True
        self.myselectorB.setValue(100./self.myselectorA.value())
        self.viewupdate = False

附加的回调函数selchangedA执行一些操作,其中包括第二个组合框(myselectorB)的可选更新。此更新依赖于另一个变量gainlink。在

我有这样的情况,我需要能够检测到对组合框中相同元素的重新选择,以便它更新辅助组合框。这可能吗?在

我知道用户应该在辅助组合框中选择适当的值,但是我希望用户有最大的灵活性。在


Tags: 用户self定义initvaluedefsqsome
1条回答
网友
1楼 · 发布于 2024-10-08 18:21:48

您可以将信号currentIndexChanged(int)连接到selchangedA(self, int),而不是activated(int)(如果选择没有改变,但是选择了一个元素,它也会发出)连接到selchangedA(self, int)。此外,您可以将组合框的当前索引保存在一个单独的变量中,如果值与前面的值相同,则签入selchangedA,并相应地执行操作。在

相关问题 更多 >

    热门问题