python - 如何检测相同pyqt组合框元素的重新选择

标签 python combobox pyqt pyqt4 pyqtgraph

我有一个 pyqtgraph Combobox,其定义如下。

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

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

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

最佳答案

您可以连接信号activated(int),而不是currentIndexChanged(int)(如果选择没有更改但选择了一个元素,也会发出该信号)到 selchangedA(self, int)。除此之外,您可以将组合框的当前索引保存在单独的变量中,并检查 selchangedA 值是否与之前的值相同并采取相应的操作。

关于python - 如何检测相同pyqt组合框元素的重新选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25888112/

相关文章:

c# - 如何将数据从数据库加载到组合框中

WPF ComboBox 下拉列表阻止单击其他控件

delphi - Firemonkey - 组合框突出显示鼠标位置处的项目

python - 如何将函数连接到主线程之外的 PyQt 信号

python - discord.py 类型错误 : 'property' object is not iterable

python - 上传到pypi,然后用pip下载

python - Pyqt5 多窗口 - 如何防止窗口切换?

python - 如何将多个选项卡放入单独的进程中

python - 删除具有相反单词的重复二元组

python - 阅读 excel 框架时跳过特定的一组列 - pandas