Я использовал его код для моего приложения, которое я разрабатываю, я чувствовал, что поведение неполное, поэтому я добавил несколько кодов, чтобы привести поведение в соответствие с тем, что я разрабатываю, но проблема в том, что я не могу добавить поведение, когда я снова щелкаю по нему, он закрывается, не перезагружается.
Сначала я добавил эту строку 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
срабатывает дважды.
Текущее поведение:
- если я щелкнул раскрывающийся список, откроется раскрывающийся список
- если я снова нажму на выпадающее меню, оно закроется
- если раскрывающийся список открыт, и я щелкнул за пределами раскрывающегося списка, раскрывающийся список закрывается
- если я щелкнул раскрывающийся список после закрытия, щелкнув снаружи, раскрывающийся список не откроется до второго щелчка (Моя проблема)
Как сделать так, чтобы при нажатии на раскрывающееся меню он правильно открывался и закрывался, даже если я щелкал снаружи.