PyQt4:我可以拦截QComboBox的currentIndexChanged信号吗?

时间:2012-01-18 04:40:09

标签: python pyqt pyqt4 signals-slots qcombobox

我构建了一个由QComboBox和QGraphicsScene组成的UI,它是QGraphicsItems。

当我更改QComboBox的索引时,请刷新QGraphicsScene,使其设置为默认值。为了解决这个问题,我将几何信息存储到节点。效果很好。

目前,我想确定修改了QGraphicsItems,并且不存储它们的地理信息。因此,UI会通知用户他或她必须存储它们。

我希望在更改QComboBox时发生这种情况,为此我必须拦截currentIndexChanged信号。这意味着在QComboBox实际更改索引之前,它会读取标志并对用户执行某些操作,并且不会错过地理信息QComboBox返回到先前的索引。

1 个答案:

答案 0 :(得分:1)

你的问题有点难以理解。

您想在当前索引发生变化之前知道以前的索引吗?如果是,则保留以前索引的记录:

def __init__(self):
    self._previous_index = -1

def handleCurrentIndexChanged(self, index):
    # do stuff with previous_index (if valid)
    ...
    self._previous_index = index