首页 > 解决方案 > python中的自定义PyQt MultiSelection下拉菜单

问题描述

一直在为我正在开发的应用程序使用他的代码,我觉得行为不完整,所以我添加了一些代码以使行为适合我正在开发的内容,但问题是我似乎无法添加当我再次单击它时,它将关闭而不重新加载。

首先我self.visible=Falseini函数中添加了这一行,因为我不知道如何检查下拉菜单是否打开。

其次是我将行修改319为:

if obj == self._lineEdit:
       if self.visible:
            self.visible = False
            self.hidePopup()
        else:
            self.visible = True
            self.showPopup()

如果您再次单击下拉列表,则此方法有效,但是当我单击下拉列表外部以关闭下拉列表时,它不会打开,直到您单击它两次

我也尝试修改一些事件,但我很快发现当我单击关闭下拉菜单时,QEvent.MouseButtonPress内联291触发器两次。

当前行为:

我怎样才能做到这一点,当单击下拉菜单时,即使我在外部单击,它也会正确打开和关闭。

标签: pythonpython-2.7pyqtpyqt4

解决方案


推荐阅读