python - python中的自定义PyQt MultiSelection下拉菜单
问题描述
一直在为我正在开发的应用程序使用他的代码,我觉得行为不完整,所以我添加了一些代码以使行为适合我正在开发的内容,但问题是我似乎无法添加当我再次单击它时,它将关闭而不重新加载。
首先我self.visible=False
在ini
函数中添加了这一行,因为我不知道如何检查下拉菜单是否打开。
其次是我将行修改319
为:
if obj == self._lineEdit:
if self.visible:
self.visible = False
self.hidePopup()
else:
self.visible = True
self.showPopup()
如果您再次单击下拉列表,则此方法有效,但是当我单击下拉列表外部以关闭下拉列表时,它不会打开,直到您单击它两次
我也尝试修改一些事件,但我很快发现当我单击关闭下拉菜单时,QEvent.MouseButtonPress
内联291
触发器两次。
当前行为:
- 如果我单击下拉菜单,则会打开下拉菜单
- 如果我再次单击下拉菜单,下拉菜单将关闭
- 如果下拉菜单打开并且我在下拉菜单之外单击,则下拉菜单关闭
- 如果我在通过单击外部关闭下拉菜单后单击下拉菜单,则下拉菜单在第二次单击之前不会打开(我的问题)
我怎样才能做到这一点,当单击下拉菜单时,即使我在外部单击,它也会正确打开和关闭。
解决方案
推荐阅读
- sql - SQL - 从多个表中删除(使用 FK)
- node.js - 部署我的系统后,我不断收到无法获取 / 在 heroku 上
- postgresql - Spring Boot 应用程序对 postgres 执行大量 SET application_name 查询
- android - 获取错误 Button.setOnclicklistener(this);
- django - 如何在 gunicorn_config 文件中给出子域的地址
- pine-script - 如何检查先前柱的范围以了解情况
- sql-server - 在 BIML 中使用 Oracle Source 和 Attunity
- c - 我不确定为什么我的嵌套 while 循环在第一次迭代后停止
- oracle - Oracle SQL Query,用于拆分,处理和计算列中值的函数?
- android - 我无法解决颤动闪屏中的尺寸问题