PyQt4:我能拦截QComboBox的currentIndexChanged信号吗?
我搭建了一个用户界面,里面有一个下拉框(QComboBox)和一个图形场景(QGraphicsScene),还有一些图形项目(QGraphicsItems)。
当我改变下拉框的选项时,图形场景会刷新,恢复到默认状态。为了解决这个问题,我把一些几何信息存储到一个节点里,这样就能正常工作了。
现在,我想判断这些图形项目是否被修改过,如果没有存储它们的几何信息,用户就需要被提醒去保存。
我希望在改变下拉框选项时就能实现这个功能。为此,我需要拦截下拉框的当前索引变化信号。这意味着在下拉框实际改变选项之前,它会先读取一个标志,然后做一些事情来提醒用户,同时也能确保几何信息不会因为下拉框返回到之前的选项而丢失。
1 个回答
1
你的问题有点难懂。
你是想知道在当前索引变化之前的那个索引吗?如果是这样的话,你可以记录下之前的索引:
def __init__(self):
self._previous_index = -1
def handleCurrentIndexChanged(self, index):
# do stuff with previous_index (if valid)
...
self._previous_index = index