Поле со списком PyQT реагирует только на взаимодействие с пользователем
Вопрос
У меня есть список, в котором вы можете выбирать пользователей.Слева от него находится поле со списком со списком доступных групп, которые пользователь может поместить в него.Если пользователь входит в группу, поле со списком будет автоматически установлено для этой группы.Я хочу сделать так, чтобы при изменении выбора группы пользователь перемещался в эту группу.Я добавил это соединение:
QtCore.QObject.connect(self.GroupsBox, QtCore.SIGNAL("currentIndexChanged(QString)"), self.HandleGrouping)
Проблема в том, что, поскольку я буду выбирать разных пользователей в разных группах, каждый раз, когда я выбираю нового пользователя, опция по умолчанию в поле со списком меняется, и Qt регистрирует это как сигнал «currentIndexChanged».
Похоже, что не существует способа активировать сигнал только при прямом взаимодействии пользователя с самим виджетом.Какие методы я могу использовать, чтобы обойти это?
Решение
Поймать сигнал от QComboBox (activated(int index)
) и обновите выбранного пользователя на основе этого.В функции Handler ничего не делайте, если выбранный индекс в поле со списком совпадает с группой, в которой находится выбранный пользователь.
Возможно, переместите поле со списком справа от списка пользователей, так как ваш порядок действий будет: «Выбрать пользователя» -> «Выбрать группу».